我在卡片布局容器中有一些面板(不知道这是否是正确的术语)。我找不到在容器内设置这些面板的位置或大小的方法。我尝试了 setBounds 和 setLayout(null) ,但仍然无法更改。这些是我的字段和构造函数。我已经让我的框架工作了,我可以看到并使用按钮来更换卡片,但我真的无法改变卡片的其他内容。我将两个卡片面板设置为两个具有不同背景,但它们只在按钮周围制作了一小块颜色边框并将其留在屏幕中央。
我也不明白为什么这不能正确粘贴我的代码......很抱歉!
public class TestPanel extends JPanel implements ActionListener {
CardLayout cl = new CardLayout();
private JPanel panelCont = new JPanel();
private JPanel panel1 = new JPanel();
private JPanel panel2 = new JPanel();
private static JButton but1 = new JButton("Change panels");
private static JButton but2 = new JButton("Change back");
public TestPanel() {
panelCont.setLayout(cl);
panel1.add(but1);
panel2.add(but2);
panel1.setBackground(Color.black);
panel2.setBackground(Color.blue);
panelCont.add(panel1, "1");
panelCont.add(panel2, "2");
cl.show(panelCont, "1");
but1.addActionListener(this);
but2.addActionListener(this);
add(panelCont);
}
}
谢谢。我提前道歉。我发现很难理解卡片布局。