Question

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?

Was it helpful?

Solution

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top