Hallo zusammen,
ich versuche gerade mich in Swing einzuarbeiten. Ich arbeite mit NetBeans.
Ich habe ein JFrame mit einem JPanel erstellt.
Dieses Panel beinhaltet unter anderem eine JComboBox, die ich mittels NetBeans an eine List gekoppelt habe:
Das funktioniert ganz gut. Bei der Initialisierung wird die plcConfLinesList mit Werten aus der DB befüllt und sie werden in der Oberfläche angezeigt.
SO jetzt kommt das Problem: Ich habe eine Menüleiste.
In dem Menü habe ich einen Punkt hinzugefügt, um eine neue Linie hinzuzufügen:
private void linesconfigurationMenuItemActionPerformed(java.awt.event.ActionEvent evt) {
String lineName = JOptionPane.showInputDialog(null, "Geben Sie bitte den Namen einer neuen Linie ein",
"Neue Linie anlegen",
JOptionPane.PLAIN_MESSAGE);
PlcConfLines newLine = new PlcConfLines();
newLine.setPlclLineName(lineName);
plcConfLinesList.add(newLine);
}
Im Debugger sehe ich dass die Liste an dieser Stelle um ein Element erweitert wird, ABER meine ComboBox zeigt das neue Element nicht an.
Noch schlimmer, wenn vor dem Erstellen eines neuen Elementes mehr als ein Element in der ComboBox waren, dann wird nur ein Element danach angezeigt (nicht das Neue). Die Elemente werden in die DB gespeichert und ich sehe auch dass das neue Element auch richtig gespeichert wird.
hat jemand eine Idee was ich falsch mache****?
Ich dachte Component Binding sollte einfach funktionieren ohne dass ich die ganze Seite neu Aufbauen muss...
vielen Dank euch
ich versuche gerade mich in Swing einzuarbeiten. Ich arbeite mit NetBeans.
Ich habe ein JFrame mit einem JPanel erstellt.
Dieses Panel beinhaltet unter anderem eine JComboBox, die ich mittels NetBeans an eine List gekoppelt habe:
Java:
private javax.swing.JComboBox lineComboBox;
private java.util.List<configurationtool.model.PlcConfLines> plcConfLinesList;
public void init(){
...
lineComboBox.setName("Linie"); // NOI18N
org.jdesktop.swingbinding.JComboBoxBinding jComboBoxBinding =
org.jdesktop.swingbinding.SwingBindings.createJComboBoxBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE,
plcConfLinesList, lineComboBox);
bindingGroup.addBinding(jComboBoxBinding);
...
}
SO jetzt kommt das Problem: Ich habe eine Menüleiste.
In dem Menü habe ich einen Punkt hinzugefügt, um eine neue Linie hinzuzufügen:
private void linesconfigurationMenuItemActionPerformed(java.awt.event.ActionEvent evt) {
String lineName = JOptionPane.showInputDialog(null, "Geben Sie bitte den Namen einer neuen Linie ein",
"Neue Linie anlegen",
JOptionPane.PLAIN_MESSAGE);
PlcConfLines newLine = new PlcConfLines();
newLine.setPlclLineName(lineName);
plcConfLinesList.add(newLine);
}
Im Debugger sehe ich dass die Liste an dieser Stelle um ein Element erweitert wird, ABER meine ComboBox zeigt das neue Element nicht an.
Noch schlimmer, wenn vor dem Erstellen eines neuen Elementes mehr als ein Element in der ComboBox waren, dann wird nur ein Element danach angezeigt (nicht das Neue). Die Elemente werden in die DB gespeichert und ich sehe auch dass das neue Element auch richtig gespeichert wird.
hat jemand eine Idee was ich falsch mache****?
Ich dachte Component Binding sollte einfach funktionieren ohne dass ich die ganze Seite neu Aufbauen muss...
vielen Dank euch
Zuletzt bearbeitet von einem Moderator: