问题
Can one component (e.g. a JLabel
) be in multiple cards using CardLayout
?
Currently it seems that the component appears only at the last card it was added to.
If there is a way to do this, should I? Is it bad practice? Or is there some alternative?
回答1:
You are correct that it only appears in the "last card it was added to", but that has nothing to do with CardLayout
, that has to do with the fact each component can only be in one parent.
From the Javadoc for java.awt.Container.addImpl(Component comp, Object constraints, int index):
If the component is not an ancestor of this container and has a non-null parent, it is removed from its current parent before it is added to this container.
来源:https://stackoverflow.com/questions/23519848/java-card-layout-one-component-in-multiple-cards