Assolutamente no ... sei sulla strada (molto) sbagliata!!Originariamente inviato da nttman
Evidentemente i JMenu gestiscono i JMenuItem con delle mappe
La questione è molto più semplice (e pure "logica" e forse intuibile ... se ci si pensa): ogni componente AWT/Swing ha 1 solo "parente", la classe java.awt.Component guarda caso infatti ha un campo:
transient Container parent;
E questo vuol dire che appunto un componente deve stare dentro 1 solo Container.
Se si va a vedere il sorgente di java.awt.Container, in addImpl() che si occupa di aggiungere un componente si vede:
Quindi vale in generale, per qualunque componente .... se ho un JButton dentro un panelX e poi lo inserisco anche nel panelY ... beh, cambia parente!!!!!codice:.... /* Reparent the component and tidy up the tree's state. */ if (comp.parent != null) { comp.parent.remove(comp); if (index > component.size()) { throw new IllegalArgumentException("illegal component position"); } } //index == -1 means add to the end. if (index == -1) { component.add(comp); } else { component.add(index, comp); } comp.parent = this; ....![]()

Rispondi quotando