public JPanel initTextFields() { textfeld = new JTextField[columnNames.length - 1]; JPanel panel = new JPanel(new GridLayout(columnNames.length, 2)); for (int i = 0; i < textfeld.length; i++) { textfeld[i] = new JTextField(15); textfeld[i].setName(columnNames[i]); JPanel p = new JPanel(new FlowLayout(FlowLayout.RIGHT)); JLabel l = new JLabel(columnNames[i]); p.add(l); panel.add(p); p = new JPanel(new FlowLayout(FlowLayout.LEFT)); p.add(textfeld[i]); panel.add(p); } kategorie = new JComboBox<Kategorie>(); kategorie.setName(columnNames[columnNames.length - 1]); kategorie.setRenderer(new MyListCellRenderer()); JPanel p = new JPanel(new FlowLayout(FlowLayout.RIGHT)); JLabel l = new JLabel(columnNames[columnNames.length - 1]); p.add(l); panel.add(p); p = new JPanel(new FlowLayout(FlowLayout.LEFT)); p.add(kategorie); panel.add(p); DataBinder d = new DataBinder(); try { d.bindTo_String( kategorie, new EntityComboBoxModel<Kategorie>(BL.getKategorieListe()), b == null ? null : b.getKKbz()); } catch (DALException e) { JOptionPane.showMessageDialog(this, e.getMessage()); } if (b != null) { d.bindTo_Date(textfeld[0], b.getDatum()); d.bindTo_String(textfeld[1], b.getKommentar()); d.bindTo_double(textfeld[2], b.getSteuersatz()); d.bindTo_double(textfeld[3], b.getBetrag()); } else { d.bindTo_Date(textfeld[0], new Date()); } return panel; }
@Override public void actionPerformed(ActionEvent e) { if (e.getSource() == add) { try { DataBinder b = new DataBinder(); Date datum = b.bindFrom_Date(textfeld[0], new StandardRule()); String kommentar = b.bindFrom_String(textfeld[1], new StandardRule()); double steuersatz = b.bindFrom_double(textfeld[2], new StandardRule()); double betrag = b.bindFrom_double(textfeld[3], new StandardRule()); String kategorieKbz = b.bindFrom_String(kategorie, null); JOptionPane.showMessageDialog(this, kategorieKbz); if (!b.hasErrors()) { if (this.b != null) { this.b.setKommentar(kommentar); this.b.setSteuersatz(steuersatz); this.b.setBetrag(betrag); this.b.setKKbz(kategorieKbz); BL.updateBuchungszeile(this.b); // JOptionPane.showMessageDialog(this, // "Eintrag wurde erfolgreich bearbeitet"); } else { this.b = new Buchungszeile(datum, kommentar, steuersatz, betrag, kategorieKbz); BL.saveBuchungszeile(this.b); // JOptionPane.showMessageDialog(this, // "Eintrag wurde erfolgreich hinzugefügt"); } dispose(); } else { JOptionPane.showMessageDialog(this, b.getErrors()); } } catch (NullPointerException npe) { JOptionPane.showMessageDialog( this, "Kategorie muss ausgewählt sein", "Error", JOptionPane.ERROR_MESSAGE); } catch (IllegalArgumentException iae) { JOptionPane.showMessageDialog(this, iae.getMessage()); } catch (InvalidObjectException ioe) { JOptionPane.showMessageDialog(this, ioe.getMessage()); } catch (DALException de) { JOptionPane.showMessageDialog(this, de.getMessage()); } } else if (e.getSource() == cancel) { dispose(); } }
@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(); } }