【发布时间】:2013-12-18 16:04:29
【问题描述】:
我想知道如何使用GridLayout 嵌套JPanels。这就是它应该的样子。
到目前为止,我通过两种方式解决了这个问题,
- 使用
JPanels 和 - 使用
JLabels,
它们都不起作用(只显示了创建的第一个面板)。
这是JPanel 方法的代码:
int x=20, y=20;
JPanel [] panels = new JPanel[3];
JLabel animal = new JLabel(new ImageIcon(getClass().getResource("Pictures/animal.gif")));
JLabel map = new JLabel(new ImageIcon(getClass().getResource("Pictures/map.gif")));
JLabel mountain = new JLabel(new ImageIcon(getClass().getResource("Pictures/mountain.gif")));
for(int i=0;i<panels.length;i++)
{
if(i>0)
{
x+=x;
y+=y;
}
panels[i] = new JPanel(new GridLayout(2,2));
panels[i].setPreferredSize(new Dimension(x,y));
if(i==0)
panels[i].add(new JPanel());
else
panels[i].add(panels[i-1]);
panels[i].add(mountain);
panels[i].add(map);
panels[i].add(animal);
}
add(panels[2]);
【问题讨论】:
-
当前显示的是什么?
-
我只添加了最后一个 JPanel,因为我认为其他面板已添加到其中...
标签: java image swing jpanel grid-layout