Originariamente inviato da nttman
Evidentemente i JMenu gestiscono i JMenuItem con delle mappe
Assolutamente no ... sei sulla strada (molto) sbagliata!!
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:
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;
....
Quindi vale in generale, per qualunque componente .... se ho un JButton dentro un panelX e poi lo inserisco anche nel panelY ... beh, cambia parente!!!!!