Hallo,
ich versuche eine GUI für ein Adressbuch zu schreiben und krieg die such funktion nicht hin.
GUI mit WindowBuilder plugin erstellt.
das ganze läuft soweit ich kann speichern und updaten, aber ich will die JTextField mit den Daten der datenbank füllen.
ps. Möglicherweise gehört das in die GUI abteilung
ich versuche eine GUI für ein Adressbuch zu schreiben und krieg die such funktion nicht hin.
GUI mit WindowBuilder plugin erstellt.
das ganze läuft soweit ich kann speichern und updaten, aber ich will die JTextField mit den Daten der datenbank füllen.
Java:
package adressbuch;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.UIManager;
import javax.swing.JTextField;
import javax.swing.JSeparator;
import javax.swing.JButton;
import javax.swing.JTable;
import java.sql.*;
public class AdressBuch extends JFrame {
/**
*
*/
private static final long serialVersionUID = 6950577656155165307L;
private JFrame frmAdressbuch;
private JTextField nameField;
private JTextField vnameField;
private JTextField knrField;
private JTextField strField;
private JTextField nrField;
private JTextField plzField;
private JTextField stdField;
private JTextField telField;
private JTextField mailField;
private JTable table;
private static Statement stmt;
static String sp;
static String ae;
static String su;
/**
* Launch the application.
*/
public static void main(String[] args) throws ClassNotFoundException, SQLException {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
AdressBuch window = new AdressBuch();
window.frmAdressbuch.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
String user = "root";
String pw = "";
String url = "jdbc:mysql://localhost/adressen";
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(url,user,pw);
stmt = con.createStatement();
new AdressBuch();
System.out.println("Gui läuft");
}
/**
* Initialize the contents of the frame.
* @
*/
public AdressBuch( ) {
frmAdressbuch = new JFrame();
frmAdressbuch.setTitle("Adressbuch");
frmAdressbuch.setBounds(100, 100, 565, 600);
frmAdressbuch.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frmAdressbuch.getContentPane().setLayout(null);
JLabel lblNewLabel = new JLabel("Name");
lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblNewLabel.setBounds(10, 20, 70, 20);
frmAdressbuch.getContentPane().add(lblNewLabel);
JLabel lblNewLabel_1 = new JLabel("Vorname");
lblNewLabel_1.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblNewLabel_1.setBounds(210, 20, 70, 20);
frmAdressbuch.getContentPane().add(lblNewLabel_1);
JLabel lblNewLabel_2 = new JLabel("Kundennr.");
lblNewLabel_2.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblNewLabel_2.setBounds(10, 60, 70, 20);
frmAdressbuch.getContentPane().add(lblNewLabel_2);
JLabel lblNewLabel_3 = new JLabel("Strasse");
lblNewLabel_3.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblNewLabel_3.setBounds(10, 100, 70, 20);
frmAdressbuch.getContentPane().add(lblNewLabel_3);
JLabel lblNewLabel_4 = new JLabel("Nr.");
lblNewLabel_4.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblNewLabel_4.setBounds(210, 100, 70, 20);
frmAdressbuch.getContentPane().add(lblNewLabel_4);
JLabel lblNewLabel_5 = new JLabel("PLZ");
lblNewLabel_5.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblNewLabel_5.setBounds(10, 140, 70, 20);
frmAdressbuch.getContentPane().add(lblNewLabel_5);
JLabel lblNewLabel_6 = new JLabel("Stadt");
lblNewLabel_6.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblNewLabel_6.setBounds(210, 140, 70, 20);
frmAdressbuch.getContentPane().add(lblNewLabel_6);
JLabel lblNewLabel_7 = new JLabel("Telefon");
lblNewLabel_7.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblNewLabel_7.setBounds(10, 180, 70, 20);
frmAdressbuch.getContentPane().add(lblNewLabel_7);
JLabel lblNewLabel_8 = new JLabel("E-Mail");
lblNewLabel_8.setFont(new Font("Tahoma", Font.PLAIN, 14));
lblNewLabel_8.setBounds(210, 180, 70, 20);
frmAdressbuch.getContentPane().add(lblNewLabel_8);
nameField = new JTextField();
nameField.setBounds(90, 20, 100, 20);
frmAdressbuch.getContentPane().add(nameField);
nameField.setColumns(10);
vnameField = new JTextField();
vnameField.setBounds(290, 20, 100, 20);
frmAdressbuch.getContentPane().add(vnameField);
vnameField.setColumns(10);
knrField = new JTextField();
knrField.setBounds(90, 60, 100, 20);
frmAdressbuch.getContentPane().add(knrField);
knrField.setColumns(10);
strField = new JTextField();
strField.setBounds(90, 100, 100, 20);
frmAdressbuch.getContentPane().add(strField);
strField.setColumns(10);
nrField = new JTextField();
nrField.setBounds(290, 100, 40, 20);
frmAdressbuch.getContentPane().add(nrField);
nrField.setColumns(10);
plzField = new JTextField();
plzField.setBounds(90, 140, 100, 20);
frmAdressbuch.getContentPane().add(plzField);
plzField.setColumns(10);
stdField = new JTextField();
stdField.setBounds(290, 140, 100, 20);
frmAdressbuch.getContentPane().add(stdField);
stdField.setColumns(10);
telField = new JTextField();
telField.setBounds(90, 180, 100, 20);
frmAdressbuch.getContentPane().add(telField);
telField.setColumns(10);
mailField = new JTextField();
mailField.setBounds(290, 180, 100, 20);
frmAdressbuch.getContentPane().add(mailField);
mailField.setColumns(10);
JSeparator separator = new JSeparator();
separator.setBounds(10, 220, 530, 20);
frmAdressbuch.getContentPane().add(separator);
JButton btnSpeichern = new JButton("Speichern");
btnSpeichern.setBounds(445, 40, 95, 20);
btnSpeichern.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
sp = "INSERT INTO adressen (knr,name,vname,str,nr,plz,std,tel,mail) VALUES ('"
+ knrField.getText()
+ "','"
+ nameField.getText()
+ "','"
+ vnameField.getText()
+ "','"
+ strField.getText()
+ "','"
+ nrField.getText()
+ "','"
+ plzField.getText()
+ "','"
+ stdField.getText()
+ "','"
+ telField.getText()
+ "','"
+ mailField.getText()
+ "')";
System.out.println(""+sp);
try {
int rs = stmt.executeUpdate(sp);
System.out.println(""+rs);
} catch (Exception ex) {
ex.printStackTrace();
}
}
});
frmAdressbuch.getContentPane().add(btnSpeichern);
JButton btnAendern = new JButton("\u00C4ndern");
btnAendern.setBounds(445, 100, 95, 20);
btnAendern.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
ae = "UPDATE adressen SET name ='"
+ nameField.getText()
+ "', vname ='"
+ vnameField.getText()
+ "', str ='"
+ strField.getText()
+ "', nr ='"
+ nrField.getText()
+ "', plz ='"
+ plzField.getText()
+ "', std ='"
+ stdField.getText()
+ "', tel ='"
+ telField.getText()
+ "', mail ='"
+ mailField.getText()
+ "' WHERE knr ='"
+ knrField.getText()
+ "';";
System.out.println(""+ae);
try {
int rs = stmt.executeUpdate(ae);
System.out.println(""+rs);
} catch (Exception ex) {
ex.printStackTrace();
}
}
});
frmAdressbuch.getContentPane().add(btnAendern);
JButton btnSuchen = new JButton("Suchen");
btnSuchen.setBounds(445, 160, 95, 20);
btnSuchen.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
su = "SELECT*FROM adressen WHERE knr='"
+ knrField.getText()
+ "';";
// hier will ich die Textfelder mit dem inhalt der Datebank füllen
nameField.setText();
System.out.println(""+su);
try {
ResultSet rs = stmt.executeQuery(su);
System.out.println(""+rs);
} catch (Exception ex) {
ex.printStackTrace();
}
}
});
frmAdressbuch.getContentPane().add(btnSuchen);
table = new JTable();
table.setBounds(10, 250, 530, 300);
frmAdressbuch.getContentPane().add(table);
}
}
ps. Möglicherweise gehört das in die GUI abteilung