2011-01-06 18 views

Respuesta

45

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

Cada componente GUI puede estar contenida sólo una vez. Si un componente ya es en un contenedor e intenta agregarlo a otro contenedor, el componente se eliminará del primer contenedor y luego se agregará al segundo.

+2

¡Gracias por tu ayuda! –

+0

Comprobé la redacción exacta y edité mi respuesta al mismo tiempo que la publicaste. Creo que debería haber refrescado primero. – jzd

+0

Hehe. ¡Está bien! –

1

No creo que eso sea posible. Lo que puede hacer es tener múltiples componentes que comparten el mismo controlador de eventos. SO básicamente, en su caso, declare dos botones y use el mismo método de controlador de eventos.

+0

¡Gracias por su ayuda! –

3

Resuelto.

Comprobando en la sección UI-Swing del tutorial de Java, dice.

Cada componente de GUI puede contenerse solo una vez. Si un componente ya está en un contenedor e intenta agregarlo a otro contenedor, el componente se eliminará del primer contenedor y luego se agregará al segundo.
6

Como has descubierto, no puedes compartir componentes. Sin embargo, hay otros enfoques que puede usar.

En el caso de un JButtons puede compartir una Acción:

JButton botón 1 = new JButton (algunaAccion); J Button 2 = new JButton (someAction);

Lea la sección del tutorial de Swing en How to Use Actions para obtener más información.

En otros casos es posible que desee compartir el modelo:

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

La solución depende de sus necesidades.

Cuestiones relacionadas