Java卡布局.多卡中的一个组件

Jus*_*s S 2 java swing awt cardlayout

一个组件(例如a JLabel)可以使用多个卡CardLayout吗?

目前,该组件似乎只出现在它添加到的最后一张卡片上.

如果有办法做到这一点,我应该吗?这是不好的做法吗?或者有其他选择吗?

dur*_*597 5

你是正确的,它只出现在"它添加到的最后一张卡片"中,但这与此无关,这与CardLayout每个组件只能在一个父组件中的事实有关.

来自Javadoc java.awt.Container.addImpl(Component comp, Object constraints, int index):

如果组件不是此容器的祖先且具有非null父级,则在将其添加到此容器之前将其从当前父级中删除.

  • @Bebras为什么没有'errorLabel`在父面板中? (2认同)
  • 对不起,我的意思是`CardLayout`格式化的`JPanel`的父容器,然后它会出现在卡片旁边.但如果你需要它在不同的位置,我会使用一个单独的`JLabel`,是的. (2认同)