2011-01-06 15 views

risposta

45

Da: http://download.oracle.com/javase/tutorial/uiswing/components/toplevel.html:

Ogni componente GUI può essere contenuta solo una volta. Se un componente è già in un contenitore e si tenta di aggiungerlo a in un altro contenitore, il componente verrà rimosso dal primo contenitore e successivamente aggiunto al numero .

+2

Grazie per il vostro aiuto! –

+0

Ho controllato il testo esatto e ho modificato la mia risposta nello stesso momento in cui l'hai pubblicata. Credo che avrei dovuto rinfrescarmi prima. – jzd

+0

Hehe. Va bene! –

1

Non credo sia possibile. Quello che puoi fare è avere più componenti che condividono lo stesso gestore di eventi. COSÌ fondamentalmente, nel tuo caso, dichiarare due pulsanti e utilizzare lo stesso metodo di gestore di eventi.

+0

Grazie per il tuo aiuto! –

3

Risolto.

Controllare nella sezione UI-Swing del tutorial Java, si dice.

Ogni componente della GUI può essere contenuto una sola volta. Se un componente è già in un contenitore e si tenta di aggiungerlo a un altro contenitore, il componente verrà rimosso dal primo contenitore e quindi aggiunto al secondo.
6

Come hai scoperto, non puoi condividere componenti. Tuttavia ci sono altri approcci che puoi usare.

Nel caso di un JButtons è possibile condividere un'Azione:

JButton button1 = new JButton (someAction); JButton button2 = new JButton (someAction);

Leggere la sezione dal tutorial Swing su How to Use Actions per ulteriori informazioni.

In altri casi si potrebbe desiderare di condividere il modello:

DefaultTableModel model = new DefaultTableModel(...); 
JTable table1 = new JTable(model); 
JTable table2 = new JTable(model); 

La soluzione dipende dal vostro requisito.