Swing Probleme beim Aktualisieren einer JComboBox nach Auswahländerung

Strece

Mitglied
Hallo,


also die Überschrift erklärt schon einen Teil des Problem. Wichtig ist erstmal die Vorgeschichte:

Ich habe ein Formular zum Hinzufügen von Datensätzen in eine DB mit mehreren Comboboxen, jede ComboBox repräsentiert einen Wert der jeweiligen Spalte der Tabelle.
Und zwar sind die Werte die in den ComboBoxen stehen sollen schon vordefiniert in einer Mastertabelle, sprich der Benutzer wählt nur noch die passenden Werte aus und fügt den Datensatz hinzu.

So das Problem ist nun folgendes, die Mastertabelle ist redudant aufgebaut, sprich zu einem Wert gibt es viele verschiedene, z.B: zu Wert1 aus Spalte1 gehören Wert1-100 aus Spalte2. Das soll so funktionieren, das wenn ich in der ersten ComboBox einen Wert auswähle er automatisch in die zweite ComboBox die dazu passenden Werte aus der 2ten Spalte anzeigt.

Das funktioniert alles auch schon, aber mit einem gravierenden Nachteil:
Wenn ich die Form zum Hinzufügen aufrufe, füllt er automatisch schonmal die erste ComboBox mit Werten aus der ersten Spalte, die anderen ComboBoxen sind noch leer.
Wähle ich jetzt in der ersten Box einen Wert aus, so werden in der zweiten Box die dazu passenden anderen Werte angezeigt. Bis dahin läuft alles super.

Aber ich muss immer erst einmal den Wert in einer ComboBox ändern, damit ein Refresh stattfindet, sprich wenn sich nur ein Wert in einer Box befindet, kann man keinen Refresh durchführen um die anderen Boxen mit den passenden Werten zu füllen.

Ich hoffe diese Vorgeschichte ist nicht zu verwirrend.

Mein Lösungansatz der den Nachteil hat, benutzt einen ItemStateChanged Listener, mit folgenden Code-Beispiel:
Java:
private void cboVon1PatchenItemStateChanged(java.awt.event.ItemEvent evt) {                                                

        if (evt.getStateChange() != ItemEvent.SELECTED) {
            cboVon2Patchen.removeAllItems();
            try {
                patchen = st.executeQuery("SELECT position.Standort, position.Objekt_1, position.Objekt_2, position.Objekt_3, position.Art, position.Bemerkung FROM position LEFT JOIN verbindungen ON (position.Objekt_3 = verbindungen.Von_3 AND position.Objekt_2 = verbindungen.Von_2 AND position.Objekt_1 = verbindungen.Von_1) OR (position.Objekt_3 = verbindungen.Nach_3 AND position.Objekt_2 = verbindungen.Nach_2 AND position.Objekt_1 = verbindungen.Nach_1) WHERE verbindungen.Von_3 IS NULL AND verbindungen.Nach_3 IS NULL AND position.Objekt_1 = '" + cboVon1Patchen.getSelectedItem() + "' Group by position.Objekt_2;");
                while (patchen.next()) {
                    cboVon2Patchen.addItem(patchen.getString("Objekt_2"));
                }
            } catch (SQLException ex) {
                JOptionPane.showMessageDialog(null, ex.getMessage(), "Fehler", JOptionPane.CANCEL_OPTION);
            }
        }
}

Und das Code-Beispiel beim Aufruf des Formular:
Java:
cboVonStandortPatchen.removeAllItems();
            cboVon1Patchen.removeAllItems();
            cboVon2Patchen.removeAllItems();
            cboVon3Patchen.removeAllItems();
            cboNachStandortPatchen.removeAllItems();
            cboNach1Patchen.removeAllItems();
            cboNach2Patchen.removeAllItems();
            cboNach3Patchen.removeAllItems();

            try {
                patchen = st.executeQuery("Select Standort From position Group by Standort;");
                while (patchen.next()) {
                    System.out.println(patchen.getString("Standort"));
                    cboVonStandortPatchen.addItem(patchen.getString("Standort"));
                    cboNachStandortPatchen.addItem(patchen.getString("Standort"));
                }
            } catch (SQLException ex) {
                JOptionPane.showMessageDialog(null, ex.getMessage(), "Fehler", JOptionPane.CANCEL_OPTION);
            }

            cboVonStandortPatchen.setSelectedIndex(0);

            setTextFields();
            fraPatchen.setVisible(true);
            fraPatchen.setSize(600, 420);
            fraPatchen.setLocationRelativeTo(null);

Bin ein wenig ratlos, wie man dort weiterkommt. Mir kam die Idee einen MouseClick Listener zu benutzen, um die Daten zu ändern, sobald eine ComboBox angeklickt wird, aber der reagiert nicht immer.
Wäre es auch möglich mit einem ActionPerformed Listener?


Die Variablen sind einfach zu erklären:
Es gibt jeweils 4 ComboBoxen, einmal Von und einmal Nach.
Die ersten beiden mit Standort werden beim Aufruf des Formular gefüllt, die andern erst durch Auswahl eines anderen Wertes (Refresh Problem).
Der ItemStateChange Listener ist bei allen ComboBoxen gleich, nur die Abfragen ändern sich etwas.

Ich hoffe jemand kann mir ein wenig helfen und mich auf den richtigen Weg bringen.

Mfg, Strece
 

Strece

Mitglied
Danke für deine Antwort.
Leider habe ich durch Google nicht wirklich was herausgefunden bzw. konnte nichts spezifisches finden was mir bei meinem Problem helfen kann.

Vielleicht habe ich auch einfach falsche Suchbegriffe benutzt, nur finde es nicht einfach ein solches Problem mit der Vorgeschichte in Suchbegriffe zu kürzen.

Habe nun nach ein wenig rumtesten, die Idee mit dem MouseClick Listener vertieft und damit scheint es besser zu laufen.

Weitere Ideen nehme ich aber gerne an.

Mfg, Strece
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Probleme beim Drucken auf einen PDF-Drucker AWT, Swing, JavaFX & SWT 8
D JavaFX Probleme beim nachtäglichen hinzufügen der jfx dependency AWT, Swing, JavaFX & SWT 7
B 2D-Grafik paintcomponent Probleme beim zeichnen AWT, Swing, JavaFX & SWT 10
L JavaFX Probleme beim Installieren JavaFX11 / JavaFX12 -- Eclipse 2019-03 AWT, Swing, JavaFX & SWT 3
H JavaFX Probleme Beim Wechseln der scene als .fxml AWT, Swing, JavaFX & SWT 7
F JavaFX Probleme beim automatischen Konvertieren AWT, Swing, JavaFX & SWT 4
T Java FX Probleme beim befüllen eines Tableviews AWT, Swing, JavaFX & SWT 5
S AWT Probleme beim Zeichnen AWT, Swing, JavaFX & SWT 3
K Probleme beim JPasswordField AWT, Swing, JavaFX & SWT 11
D JavaFX Probleme bei Service-Klasse beim ändern der GUI AWT, Swing, JavaFX & SWT 8
K Probleme beim zeichnen mit paintComponent() AWT, Swing, JavaFX & SWT 1
C Java FX Probleme beim Schließen einer Stage AWT, Swing, JavaFX & SWT 11
H Swing Probleme beim erstellen eines neuen Objektes durch einen Button AWT, Swing, JavaFX & SWT 10
N 2D-Grafik 2 Probleme beim zeichnen AWT, Swing, JavaFX & SWT 18
C SWT probleme beim einbinden von Images AWT, Swing, JavaFX & SWT 2
S Probleme beim drucken AWT, Swing, JavaFX & SWT 13
D Swing Probleme beim Anzeigen der einzelnen Komponenten AWT, Swing, JavaFX & SWT 16
N Probleme beim positionieren von Elementen AWT, Swing, JavaFX & SWT 2
A Probleme beim FocusListener AWT, Swing, JavaFX & SWT 6
L Probleme beim Refresh von JTable AWT, Swing, JavaFX & SWT 7
K JList-Probleme beim Hinzufügen von Elementen AWT, Swing, JavaFX & SWT 3
P Swing Probleme beim Zeichen AWT, Swing, JavaFX & SWT 6
O Probleme beim Zeichnen und AWT-Event-Queue-0 Exception AWT, Swing, JavaFX & SWT 5
A Probleme beim Drucken AWT, Swing, JavaFX & SWT 5
R Probleme beim Zeichnen eines Koordinatensystems AWT, Swing, JavaFX & SWT 10
M Probleme beim Bild einfügen in CenterPanel AWT, Swing, JavaFX & SWT 5
A Probleme beim Drucken (Seite wird abgeschnitten) AWT, Swing, JavaFX & SWT 2
S Probleme beim Neuzeichnen eines JLabels AWT, Swing, JavaFX & SWT 6
W Probleme beim Erstellen einer Tabelle AWT, Swing, JavaFX & SWT 2
T Probleme beim Resizen einer JScrollPane AWT, Swing, JavaFX & SWT 2
M Probleme beim Hinzufügen von Objekten zu getContentPane() AWT, Swing, JavaFX & SWT 2
G Probleme beim Panelstruktur AWT, Swing, JavaFX & SWT 13
E Probleme beim Layout! AWT, Swing, JavaFX & SWT 8
E Probleme beim Layout mit Buttons und CheckboxGroup AWT, Swing, JavaFX & SWT 9
S Probleme beim Laden und Speichern von Dateien AWT, Swing, JavaFX & SWT 6
C Habe Probleme beim Bild laden! *Update 30.11.2006* AWT, Swing, JavaFX & SWT 28
C Probleme beim Serialisieren mit JOptionPane AWT, Swing, JavaFX & SWT 12
C Probleme beim ausführen von Programmen mit Fenstern+Inhalt AWT, Swing, JavaFX & SWT 3
Q JTextPane / Probleme beim Einfügen von <br>-Tags AWT, Swing, JavaFX & SWT 2
G Probleme beim Lösen einer Übungsaufgabe AWT, Swing, JavaFX & SWT 5
C Probleme beim 2. öffnen eines Fensters AWT, Swing, JavaFX & SWT 5
A Probleme beim Ausdrucken AWT, Swing, JavaFX & SWT 4
V Probleme beim Scrollen ein JPanels mit JScrollPane AWT, Swing, JavaFX & SWT 2
R Probleme beim Wiederherstellen eines JInternalFrames AWT, Swing, JavaFX & SWT 4
G Probleme beim Füllen einer JTable AWT, Swing, JavaFX & SWT 2
Juelin Probleme bei Stage.close() AWT, Swing, JavaFX & SWT 23
XWing Swing Image anzeigen und probleme mit klassen AWT, Swing, JavaFX & SWT 3
E repaint Probleme AWT, Swing, JavaFX & SWT 13
mananana Mögliche probleme die in einer GUI passieren Können AWT, Swing, JavaFX & SWT 6
S GridBagLayout - Probleme mit Bilderanzeige AWT, Swing, JavaFX & SWT 3
J Probleme mit idividueller Tablecell AWT, Swing, JavaFX & SWT 0
J Probleme mit InputDialog AWT, Swing, JavaFX & SWT 4
D JavaFX TextArea Probleme bei langen Zeilen AWT, Swing, JavaFX & SWT 1
G JavaFX SplitPane Anwendung - Controller Probleme AWT, Swing, JavaFX & SWT 5
K Probleme bei der Erstellung und Ausführung einer Jar Datei AWT, Swing, JavaFX & SWT 2
B Probleme Action Listener Taschenrechner AWT, Swing, JavaFX & SWT 27
pph080560 JavaFX Probleme mit FX AWT, Swing, JavaFX & SWT 3
M Probleme mit OpenJDK AWT, Swing, JavaFX & SWT 6
B Swing Probleme mit dem Layout AWT, Swing, JavaFX & SWT 1
Fiedlerdan Image-Pfad Probleme nach Export aus Eclipse AWT, Swing, JavaFX & SWT 31
H JFreeChart - DemoDataSetFactory Probleme AWT, Swing, JavaFX & SWT 1
H LayoutManager Probleme mit Positionierung/Abständen der Komponenten AWT, Swing, JavaFX & SWT 14
A Probleme mit gridheight (GridBagLayout) AWT, Swing, JavaFX & SWT 6
U Opaque Probleme AWT, Swing, JavaFX & SWT 3
S Probleme mit JComboboxen(?) AWT, Swing, JavaFX & SWT 18
S Swing Probleme mit MigLayout AWT, Swing, JavaFX & SWT 2
C Probleme mit createImage AWT, Swing, JavaFX & SWT 1
J Probleme mit contex Menu (javafx) AWT, Swing, JavaFX & SWT 1
J Probleme bei GameofLife AWT, Swing, JavaFX & SWT 24
S JavaFx - Button ActionEvent Probleme AWT, Swing, JavaFX & SWT 3
T Swing Probleme mit repaint() bzw. JScrollPane AWT, Swing, JavaFX & SWT 7
ImperatorMing JavaFX Probleme mit WindowEvent AWT, Swing, JavaFX & SWT 0
ImperatorMing JavaFX Probleme mit WindowEvent AWT, Swing, JavaFX & SWT 5
J LayoutManager GridBagLayout, probleme mit Anordnung von Objekten AWT, Swing, JavaFX & SWT 6
A Swing Probleme mit dem adden von JButtons zur JScrollPane AWT, Swing, JavaFX & SWT 2
D Swing Probleme mit dem Resizing AWT, Swing, JavaFX & SWT 7
G Probleme mit TextArea AWT, Swing, JavaFX & SWT 5
G JFrame Probleme AWT, Swing, JavaFX & SWT 2
G Cardlayout Refresh Probleme AWT, Swing, JavaFX & SWT 2
J Swing Probleme mit ListSelectionListener(), Inhalte der JList werden gelöscht? AWT, Swing, JavaFX & SWT 6
M JButton Probleme AWT, Swing, JavaFX & SWT 14
L Probleme mit Programm AWT, Swing, JavaFX & SWT 13
blazingblade komischerweise probleme mit jtextfield.gettext() AWT, Swing, JavaFX & SWT 9
Xanny 2D-Grafik Beginner! Probleme mit Swing, Gprahics class und paint AWT, Swing, JavaFX & SWT 13
Sin137 LayoutManager GridBagLayout Probleme AWT, Swing, JavaFX & SWT 6
H Netbeans Designer: Probleme mit JPanel und JFrame AWT, Swing, JavaFX & SWT 2
M Swing Probleme mit Frame.pack() AWT, Swing, JavaFX & SWT 1
M Swing JProgressbar und Outoputstream probleme AWT, Swing, JavaFX & SWT 2
S Swing Probleme mit transparenz der Hintergrundfarbe und JRadioButtons AWT, Swing, JavaFX & SWT 2
Z Probleme mit JPanel's AWT, Swing, JavaFX & SWT 6
T Probleme mit Anzeige von Elementen im JPanel AWT, Swing, JavaFX & SWT 1
Shams Probleme bei dem Hinzufügen von Komponenten zu einem JFrame AWT, Swing, JavaFX & SWT 3
A Swing Probleme mit JScrollPane AWT, Swing, JavaFX & SWT 6
M Layout-Probleme unter Swing AWT, Swing, JavaFX & SWT 5
J JavaFX JavaFX Probleme bei der Anzeige von Text AWT, Swing, JavaFX & SWT 18
A Probleme mit TilledBorder("***") AWT, Swing, JavaFX & SWT 4
F Bildschirmschoner Probleme mit Preview AWT, Swing, JavaFX & SWT 8
X Panel Probleme (Tetris) AWT, Swing, JavaFX & SWT 8
N JTable probleme AWT, Swing, JavaFX & SWT 5
B Probleme bei ImageIO.read (?!) AWT, Swing, JavaFX & SWT 9

Ähnliche Java Themen

Neue Themen


Oben