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!

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top