componenti Java Group
-
20-09-2019 - |
Domanda
Sto creando una GUI in Java utilizzando il GridBagLayout
. C'è un modo per me creare un gruppo di componenti in modo che possa passare il riferimento al gruppo e avere accesso a tutti loro?
Ho considerato la creazione di un pannello e il raggruppamento dei componenti in questo modo, ma mi chiedevo se ci fosse un altro modo che si avvale della complessità del GridBagLayout
.
Grazie mille!
Soluzione
Beh, se non è possibile creare un fagiolo con JLabel, JTextField e JButton per contenere il vostro gruppo, si può sempre utilizzare Map nel pannello principale dell'interfaccia utente di registrare gli elementi mentre li si aggiunge. Alcuni struttura come
Map<K, List<Component>>
potrebbe funzionare, dove K è un identificatore per un gruppo. In questo modo si dissociare i componenti dal modo in cui vengono messi in ui.
Altri suggerimenti
Si dovrebbe pensare di pannelli come di sola scrittura. È Bung i componenti in là, tutti insieme e con i vincoli di layout corretti. È (quasi) mai e la ricerca in per i componenti.
Al contrario, aggiungere i componenti a un Set
(o simile), come si imposta. Poi si può fare un ciclo elegante for
molto pulito sopra la collezione per eseguire l'operazione appropriata. Una tecnica più avanzata sarebbe quella di avere i singoli osservatori (gli ascoltatori) aggiornamento dei componenti da un modello.
Il solito modo è quello di utilizzare il JPanel come lei ha suggerito. Ricordate che il JPanel si può avere il proprio gestore di layout indipendente. Così si può utilizzare un GridBagLayout sul JPanel per posizionare gli elementi del pannello.