我创建了一个包含常见JLabel
的JPanel数组class gui
{
JPanel[] multpanel;
JPanel finalPane = new JPanel();
JLabel InputLabel = new JLabel("Input Files");
gui()
{
InputLabel.setLocation(50,50);
InputLabel.setSize(120,20);
int total_instances=2;
multpanel=new JPanel[total_instances];
for(int instance=0;instance<total_instances;instance++)
{
multpanel[instance]=new JPanel();
multpanel[instance].setLocation(10,0);
multpanel[instance].setSize(500,500);
multpanel[instance].setLayout(null);
multpanel[instance].add(InputLabel);
}
finalPane.add(multpanel[0]);
finalPane.add(multpanel[1]);
JFrame.setDefaultLookAndFeelDecorated(true);
frame.getContentPane().add(finalPane);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(800,800);
frame.setVisible(true);
}
这是我的程序的简短版本,我创建了一组面板,并且一次只能看到一个面板 我的问题是它只显示数组中的最后一个面板,在我的情况下显示第二个数组面板,当我尝试显示第一个面板时它什么也没显示
就像我有大小为5的面板数组一样,只显示第5个面板,所有其他面板显示空白
这是因为我在其中添加了一个通用标签
请帮忙
答案 0 :(得分:2)
给定组件可能只有一个祖先。因此,当您向面板添加标签时,您可以有效地将其从前一个标签中删除。如果您想要5个面板中的标签,则需要5个标签。
另外两个注意事项:
答案 1 :(得分:2)
使用正确的LayoutManager,例如BoxLayout并且不设置面板的大小和位置。
setLayout(null);
&lt; - 不会建议使用它。