public JPanel initTextFields() { textfeld = new JTextField[columnNames.length]; JPanel panel = new JPanel(new GridLayout(textfeld.length, 1)); for (int i = 0; i < textfeld.length; i++) { textfeld[i] = new JTextField(20); textfeld[i].addKeyListener(this); textfeld[i].setName(columnNames[i]); JLabel l = new JLabel(columnNames[i]); JPanel p = new JPanel(new FlowLayout(FlowLayout.RIGHT)); p.add(l); p.add(textfeld[i]); panel.add(p); } if (k != null) { DataBinder d = new DataBinder(); d.bindTo_String(textfeld[0], k.getFirma()); d.bindTo_String(textfeld[1], k.getName()); d.bindTo_String(textfeld[2], k.getTelefon()); } return panel; }
@Override public void actionPerformed(ActionEvent e) { if (e.getSource() == save) { try { DataBinder b = new DataBinder(); String firma = b.bindFrom_String(textfeld[0], new StandardRule()); String name = b.bindFrom_String(textfeld[1], new StandardRule()); String telefon = b.bindFrom_String(textfeld[2], new StandardRule()); if (!b.hasErrors()) { if (k != null) { k.setFirma(firma); k.setName(name); k.setTelefon(telefon); BL.updateKontakt(k); // JOptionPane.showMessageDialog(this, // "Eintrag wurde erfolgreich bearbeitet"); } else { k = new Kontakt(firma, name, telefon); BL.saveKontakt(k); // JOptionPane.showMessageDialog(this, // "Eintrag wurde erfolgreich hinzugefügt"); } dispose(); } else { JOptionPane.showMessageDialog(this, b.getErrors()); } } catch (IllegalArgumentException iae) { JOptionPane.showMessageDialog(this, iae.getMessage()); } catch (InvalidObjectException ioe) { JOptionPane.showMessageDialog(this, ioe.getMessage()); } catch (DALException de) { de.printStackTrace(); JOptionPane.showMessageDialog(this, de.getMessage()); System.out.println(de.getMessage()); } } else if (e.getSource() == cancel) { dispose(); } }
public EditKontaktDialog(JFrame owner, Kontakt k) { super(owner, "Kontakt " + k.getKontaktID() + " bearbeiten", true); this.k = k; initDialog(); }