Liebe Alle,
ich hoffe, ich komme ohne die langen Code-Schlangen meiner gesamten Applikation aus...
Folgendes Problem:
Ich habe eine Methode, die mir ein Formular in ein Panel baut (s.u.). Enthalten ist ein JButton, an dem ein ActionListener hängt. Wie aber bekomme ich die Daten aus dem Formular in die actionPerformed()? Gibt es eine Möglichkeit, die Daten in einen Array zu spiechern?
Hier der Code (nur die Methode, s.o.):
Das zurückgegebene JPanel wird übrigens in einem BorderLayout-JPanel in WEST ausgegeben (Verschachtelung).
Habe versucht, die Werte in der ActionPerformed() via Klassenvariable einzulesen, funktioniert aber nicht.
Wie man an ein einziges Element rankommt ist mir klar:
z.B.
Reicht das als Info? Sonst gerne mehr.
Danke & Grüße,
B13
ich hoffe, ich komme ohne die langen Code-Schlangen meiner gesamten Applikation aus...
Folgendes Problem:
Ich habe eine Methode, die mir ein Formular in ein Panel baut (s.u.). Enthalten ist ein JButton, an dem ein ActionListener hängt. Wie aber bekomme ich die Daten aus dem Formular in die actionPerformed()? Gibt es eine Möglichkeit, die Daten in einen Array zu spiechern?
Hier der Code (nur die Methode, s.o.):
Java:
// Klasse: Gui.java
private JPanel peopleSearchForm() throws SQLException {
db = new DbOperations(); // -> neue Instanz der Klasse, die die Datenbankaufgaben löst
peopleSearchForm = new JPanel(new FlowLayout(3,20,0));
JPanel peopleSearchInline = new JPanel(new GridLayout2(6, 2, 10, 10));
//Create and add the components.
JLabel labName = new JLabel("Name: ",4); // 4 = RIGHT
JTextField txtFieldName = new JTextField("Name", 15);
JLabel labCity = new JLabel("City: ",4);
JTextField txtFieldCity = new JTextField("City", 15);
JLabel labCountry = new JLabel("Country: ",4);
JTextField txtFieldCountry = new JTextField("Country", 15);
JLabel labJournalCode = new JLabel("Journal Code: ",4);
Object[] jnlCodeArray = db.getJournalCodes();
comboBoxJournalCode = new JComboBox();
AutoCompleteSupport<Object> support = AutoCompleteSupport.install(comboBoxJournalCode, GlazedLists.eventListOf(jnlCodeArray)); // -> GlazedLists dürften bekannt sein, helfen bei Auto-Complete JComboBoxes
comboBoxJournalCode.addActionListener(this);
JButton butPeopleSearch = new JButton("Search");
butPeopleSearch.addActionListener(this);
butPeopleSearch.setActionCommand("cmdPeopleSearchForm");
peopleSearchInline.add(labName);
peopleSearchInline.add(txtFieldName);
peopleSearchInline.add(labCity);
peopleSearchInline.add(txtFieldCity);
peopleSearchInline.add(labCountry);
peopleSearchInline.add(txtFieldCountry);
peopleSearchInline.add(labJournalCode);
peopleSearchInline.add(comboBoxJournalCode);
peopleSearchInline.add(new JLabel());
peopleSearchInline.add(butPeopleSearch);
peopleSearchInline.add(new JLabel());
peopleSearchForm.add(peopleSearchInline);
return peopleSearchForm;
} // end method peopleSearchForm()
Das zurückgegebene JPanel wird übrigens in einem BorderLayout-JPanel in WEST ausgegeben (Verschachtelung).
Habe versucht, die Werte in der ActionPerformed() via Klassenvariable einzulesen, funktioniert aber nicht.
Wie man an ein einziges Element rankommt ist mir klar:
z.B.
Java:
JComboBox cb = (JComboBox)e.getSource();
String wert = (String)cb.getSelectedItem();
Reicht das als Info? Sonst gerne mehr.
Danke & Grüße,
B13