ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
334
334
EMPFEHLEN
-
Ich hätt folgende Frage: Ich hab eine Verbindung zur Datenbank in der verschiedene Kinosäle gespeichert sind (mit unterschiedlichen Reihen und Plätzen pro Reihe). Wenn ich mir jetzt die Reihen und Plätze auslese hätte ich gerne für jeden Platz eine CheckBox gezeichnet mit der man dann Plätze reservieren kann... gibt es da irgendwie eine Möglichkeit dynamisch CheckBoxen zu erstellen, oder bleibt mir nix anderes über als für jeden Saal eine eigene Oberfläche zu basteln die dann jeweils aufgerufen wird!?
Ich hätt mir überlegt da einfach eine Schleife zu machen, aber so lässt sich ja leider kein GUI Element erstellen weil ja die Namen unterschiedlich sein müssen.
Bin für jeden Tipp dankbar!
-
Natürlich kannst du die dynamisch erstellen.
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
public static void main(String[] args) { JFrame frame = new JFrame(); final int rows = 10; final int cols = 5; frame.setLayout(new GridBagLayout()); GridBagConstraints constr = new GridBagConstraints(); for (int x = 0; x < rows; x++) { constr.gridx = x; for (int y = 0; y < cols; y++) { constr.gridy = y; frame.add(new JCheckBox(), constr); } } frame.setSize(300, 200); frame.setVisible(true); }
-
Danke! Jetzt weiß ich wieder ein bißchen mehr!
Aber ich häng jetzt beim nächsten Schritt wieder, weil jetzt sind dann zwar die dynamisch gezeichneten CheckBoxen da, aber da die keine Bezeichnung haben kann ich sie am Schluss ja dann auch nicht überprüfen ob sie ausgewählt worden sind für die Registrierung, oder?Geändert von dodlhuat (17.05.08 um 16:28 Uhr)
-
So, für alle die das vielleicht noch brauchen können... die Lösung war für mich mittels Cast das ganze zu machen:
in der Schleife kann man dann mit x. auf alle Funktionen der CheckBox zugreifenCode :1 2
comps = jPanel.getComponentCount(); for (int x = 0; x < comps; x++) {[INDENT]JCheckBox box = (JCheckBox) jPanel.getComponent(x);[/INDENT]}
-
Wenn du aber noch andere Komponente auf deinem Panel hast bekommst du ne ClassCastException. Bitte prüfe vor einem Cast immer ob dieser erfolgreich sein wird.
Code java:1 2 3 4 5 6 7 8 9 10 11
comps = jPanel.getComponentCount(); for (int x = 0; x < comps; x++) { Component comp = jPanel.getComponent(x); if(comp instanceof JCheckBox){ JCheckBox box = (JCheckBox) jPanel.getComponent(x); } else { System.err.println("Unknown Component: " + comp.getClass().getName()); } }
Schöner wäre es aber sowieso sich die Checkboxes in einer Liste o.ä. zu merken und dann darüber zu iterieren.
Ähnliche Themen
-
JCheckbox entfernen
Von Wyatt im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 6Letzter Beitrag: 16.06.07, 15:38 -
JCheckbox
Von Shaihulud im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 02.04.07, 06:50 -
JTree, JCheckBox
Von SyncIT im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 0Letzter Beitrag: 01.03.07, 14:20 -
JCheckbox dynamisch erzeugen
Von Bluey im Forum JavaAntworten: 4Letzter Beitrag: 25.02.07, 17:32 -
JCheckBox in JTable
Von fastfiler im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 3Letzter Beitrag: 23.11.05, 00:48





Zitieren

Login





