JPanel放置其他面板实例

时间:2014-12-13 16:15:36

标签: java jframe jpanel

所以我正在创建一个商店系统,我将JPanel的实例放在另一个JPanel中。我希望JPanel实例能够联合,因此每行有三个实例,不知道如何解释它。无论如何这是一张照片。

enter image description here

我尝试用以下方法分隔实例的x和y轴:

int posX = 5;
int posY = 5;
if(shopItemDisplayIteratorX == 0) {
    posX = 5;
    shopItemDisplayIteratorX++;
} else if(shopItemDisplayIteratorX == 1) {
    posX = 180;
    shopItemDisplayIteratorX++;
} else if(shopItemDisplayIteratorX == 2) {
    posX = 355;
    shopItemDisplayIteratorX = 0;
}
if(shopItemDisplayIteratorY == 0) {
    posY = 5;
    shopItemDisplayIteratorY++;
} else if(shopItemDisplayIteratorY == 1) {
    posY = 263;
    shopItemDisplayIteratorY++;
} else if(shopItemDisplayIteratorY == 2) {
    posY = 521;
    shopItemDisplayIteratorY = 0;
}

不是我所知道的最好的代码,但它只是用于测试。这不起作用,如图所示,它只放置了2个面板实例。这就像它正在跳过其他3个实例。

1 个答案:

答案 0 :(得分:0)

我会使用像GridLayout这样的布局。例如,

yourParentPanel.setLayout(new GridLayout(1, 3));
//add your 3 components

这应该水平对齐您的组件。

可以找到关于布局的所有内容here