Hallo,
ich schreibe gerade ein AdminTool das Daten aus einer Datenbank holt bisher funktioniert alles wunderbar. Nun gib ich die Einträge der DB in einer JLIST aus wenn ich einen Namen auswähl soll z.B. der Vorname in einem JTextField erscheint damit man die Einträge editieren und speichern kann. Hier mal der CODE.
Hoffe ihr könnt mir helfen das ich den Eintrag in dem JTextField ausgeben kann
Danke im Voraus
MFG Skipjip
ich schreibe gerade ein AdminTool das Daten aus einer Datenbank holt bisher funktioniert alles wunderbar. Nun gib ich die Einträge der DB in einer JLIST aus wenn ich einen Namen auswähl soll z.B. der Vorname in einem JTextField erscheint damit man die Einträge editieren und speichern kann. Hier mal der CODE.
Hoffe ihr könnt mir helfen das ich den Eintrag in dem JTextField ausgeben kann
Code:
import javax.swing.*;
import java.sql.*;
import java.awt.*;
import java.util.*;
import javax.swing.event.*;
public class AdminTool {
private Connection connection;
private Statement statement;
private ResultSet rs;
private JList userList;
private ArrayList<String> arrayList;
private JLabel label;
private DefaultListModel dlm;
private JTextField firstnameText, lastname, street, city, plz, mail_adress;
public AdminTool() {
try {
Class.forName("org.sqlite.JDBC");
} catch (Exception e) {
System.err.println("Unable to find and load driver");
System.exit(1);
}
}
public void loadAccount() {
arrayList = new ArrayList<String>();
try {
rs = statement.executeQuery("SELECT * FROM users;");
while (rs.next()) {
arrayList.add(rs.getString("firstname") + " " + rs.getString("lastname"));
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public void buildGUI() {
JFrame frame = new JFrame("");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel wPanel = new JPanel();
JPanel cPanel = new JPanel();
loadAccount();
dlm = new DefaultListModel();
userList = new JList(dlm);
for (int i = 0; i < arrayList.size(); i++) {
dlm.addElement(arrayList.get(i));
}
JScrollPane scroller = new JScrollPane(userList);
scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
scroller.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
userList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
userList.addListSelectionListener(new SharedListSelectionHandler());
firstnameText = new JTextField(15);
userList.setVisibleRowCount(18);
wPanel.add(scroller);
cPanel.add(firstnameText);
frame.getContentPane().add(BorderLayout.WEST, wPanel);
frame.getContentPane().add(BorderLayout.CENTER, cPanel);
frame.setSize(600, 600);
frame.setVisible(true);
}
class SharedListSelectionHandler implements ListSelectionListener {
public void valueChanged(ListSelectionEvent lse) {
if (!lse.getValueIsAdjusting()) {
try {
while (rs.next()) {
firstnameText.setText(rs.getString("firstname"));
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
}
public void connectToDB() {
try {
connection = DriverManager.getConnection("jdbc:sqlite:/home/sklaiber/workspace/AdminTool/de/mybrief/AdminTool/mybrief_devel.db");
statement = connection.createStatement();
} catch (SQLException connectException) {
System.out.println(connectException.getMessage());
System.out.println(connectException.getSQLState());
System.out.println(connectException.getErrorCode());
System.exit(1);
}
}
public static void main(String[] args) {
AdminTool tool = new AdminTool();
tool.connectToDB();
tool.buildGUI();
}
}
Danke im Voraus
MFG Skipjip