Frage

Ich erstelle eine GUI in Java die GridBagLayout verwenden. Gibt es eine Möglichkeit für mich, eine Komponentengruppe zu erstellen, so dass ich den Verweis auf die Gruppe passieren können und haben Zugriff auf alle von ihnen?

Ich habe als ein Gremium zu schaffen und die Gruppierung die Komponenten auf diese Weise, aber ich frage mich, ob es eine andere Möglichkeit war, dass macht die Komplexität des GridBagLayout verwenden.

Vielen Dank!

War es hilfreich?

Lösung

Nun, wenn Sie nicht eine Bohne mit JLabel, JTextField und JButton für die Aufnahme Ihrer Gruppe erstellen können, können Sie immer Karte verwenden in Ihrem Haupt-ui-Panel, die Elemente zu registrieren, während Sie sie hinzufügen. Einige Struktur wie

Map<K, List<Component>>

funktionieren könnte, wobei K eine Kennung für eine Gruppe ist. Auf diese Weise trennen Sie die Komponenten aus, wie sie in ui platziert werden.

Andere Tipps

Sie sollten denken von Platten als Schreibgeschützt. Sie Spund Ihre Komponenten dort, alle eingerichtet und mit den richtigen Layoutbeschränkungen. Sie (fast) nie gehen und durchsucht für Komponenten.

Fügen Sie stattdessen die Komponenten zu einem Set (oder ähnlich), wie Sie einrichten. Dann können Sie eine sehr saubere posh for Schleife über die Sammlung tun, um die entsprechende Aufgabe zu erfüllen. Eine fortschrittlichere Technik wäre zu einzelnen Beobachtern (Hörer) hat Auffrischen die Komponenten aus einem Modell.

Der üblicher Weg ist, um die JPanel zu verwenden, wie Sie vorgeschlagen. Denken Sie daran, dass die JPanel selbst kann seinen eigenen unabhängigen Layout-Manager haben. So haben Sie eine GridBagLayout auf dem JPanel verwenden, um die Elemente auf der Platte zu positionieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top