Non è ansible aggiungere un componente Swing a più contenitori?

Sto provando (testando qualcos’altro) per aggiungere un riferimento JButton in due JPanels per testarlo, e scompare dal primo pannello a cui è stato aggiunto!

Quindi, non è ansible aggiungere un componente Swing a più contenitori?

Grazie in anticipo.

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

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.

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

Nel caso di un JButtons puoi condividere un’azione:

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

Leggi la sezione dal tutorial Swing su Come usare le azioni per maggiori informazioni.

In altri casi potresti voler condividere il modello:

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

La soluzione dipende dalle tue esigenze.

Risolto.

Controllando nella sezione UI-Swing del Java Tutorial, 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.

Non penso sia ansible. 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.