3 import java.awt.BorderLayout;
4 import java.awt.Container;
5 import java.awt.FlowLayout;
6 import java.awt.HeadlessException;
7 import java.awt.event.ActionEvent;
8 import java.awt.event.ActionListener;
9 import java.awt.event.ItemEvent;
10 import java.awt.event.ItemListener;
11 import java.rmi.RemoteException;
12 import java.util.List;
13 import java.util.Observable;
14 import java.util.regex.Matcher;
15 import java.util.regex.Pattern;
17 import javax.swing.BoxLayout;
18 import javax.swing.JButton;
19 import javax.swing.JComboBox;
20 import javax.swing.JFrame;
21 import javax.swing.JLabel;
22 import javax.swing.JOptionPane;
23 import javax.swing.JPanel;
24 import javax.swing.JTextField;
25 import javax.swing.SwingUtilities;
27 import main.CustomItemListener;
28 import main.ResultContent;
29 import main.TextLengthDocument;
32 import controller.Controller;
33 import databaseModel.Ansprechpartner;
34 import databaseModel.Unternehmen;
43 private static final long serialVersionUID = 1L;
54 private Container contentPane = null;
59 private JLabel nameLabel = null;
60 private JTextField nameInputField = null;
61 private JLabel emailLabel = null;
62 private JTextField emailInputField = null;
63 private JLabel unternehmenLabel = null;
64 private JComboBox unternehmenComboBox = null;
65 private Object activeSelectedUnternehmen = null;
81 super(owner, controller, label, roleType);
82 this.ansprechpartnerDialog =
this;
85 JPanel ansprechpartnerPanel =
new JPanel();
86 ansprechpartnerPanel.setLayout(
new BoxLayout(ansprechpartnerPanel,
92 nameLabel =
new JLabel(
"Name:");
101 emailLabel =
new JLabel(
"EMail:");
110 unternehmenLabel =
new JLabel(
"Unternehmen:");
111 unternehmenComboBox =
new JComboBox();
115 public void doItemChanged(ItemEvent arg0) {
116 if (arg0.getStateChange() == ItemEvent.SELECTED) {
117 setActiveUnternehmen();
125 ansprechpartnerPanel.add(nameLabel);
126 ansprechpartnerPanel.add(nameInputField);
127 ansprechpartnerPanel.add(unternehmenLabel);
128 ansprechpartnerPanel.add(unternehmenComboBox);
129 ansprechpartnerPanel.add(emailLabel);
130 ansprechpartnerPanel.add(emailInputField);
141 setLayout(
new BorderLayout());
142 contentPane = getContentPane();
143 contentPane.add(ansprechpartnerPanel, BorderLayout.CENTER);
154 private void setActiveUnternehmen() {
155 activeSelectedUnternehmen = null;
157 if (unternehmenComboBox.getItemCount() > 0) {
158 if (unternehmenComboBox.getSelectedIndex() >= 0) {
160 .get(unternehmenComboBox.getSelectedIndex());
175 public void initialize(
final String label,
final Object ansprechpartner) {
176 SwingUtilities.invokeLater(
new Runnable() {
178 ansprechpartnerDialog.setTitle(label);
180 ansprechpartnerDialog.changeingObject = (
Ansprechpartner) ansprechpartner;
181 ansprechpartnerDialog.
newMode = (ansprechpartner == null);
189 nameInputField.setText(
"");
190 emailInputField.setText(
"");
191 unternehmenComboBox.setSelectedIndex(-1);
192 if (unternehmenComboBox.getItemCount() > 0) {
193 unternehmenComboBox.setSelectedIndex(0);
200 .setText(ansprechpartnerDialog.changeingObject
203 .setText(ansprechpartnerDialog.changeingObject
206 .setSelectedItem(ansprechpartnerDialog.changeingObject
208 setActiveUnternehmen();
218 public void update(Observable arg0,
final Object arg1) {
219 SwingUtilities.invokeLater(
new Runnable() {
231 unternehmenComboBox, activeSelectedUnternehmen,
246 ansprechpartnerDialog.validate();
247 ansprechpartnerDialog.repaint();
261 if (nameInputField.getText().trim().equals(
"")) {
262 errorList.add(
"Der Name wurde nicht eingegeben!");
265 if (unternehmenComboBox.getSelectedIndex() < 0) {
266 errorList.add(
"Es wurde kein Unternehmen ausgewählt!");
270 if (emailInputField.getText().trim().equals(
"")) {
271 errorList.add(
"Es wurde keine E-Mail-Adresse eingegeben!");
285 if (changeingObject == null) {
292 changeingObject.
setName(nameInputField.getText().trim());
293 changeingObject.
setEmail(emailInputField.getText().trim());
300 boolean saveError =
false;
301 String errorString =
"";
311 JOptionPane.showMessageDialog(null,
312 "Es wurde ein neuer Ansprechpartner angelegt!",
313 "Information", JOptionPane.INFORMATION_MESSAGE);
331 JOptionPane.showMessageDialog(null,
332 "Der Ansprechpartner wurde geändert!",
333 "Information", JOptionPane.INFORMATION_MESSAGE);
343 }
catch (HeadlessException e) {
345 errorString = e.getMessage();
346 }
catch (RemoteException e) {
348 errorString = e.getMessage();
355 errorList.add(
"Beim Speichern ist ein Fehler aufgetreten!");
356 if (!errorString.equals(
"")) {