GridLayout无法在JPanel中运行

时间:2015-02-06 16:18:06

标签: java swing jpanel layout-manager grid-layout

我正在尝试使用JButton多次向我的JPanel添加GridLayout。但是出于某种原因,每次我运行程序时它只显示1个按钮。

以下是代码:

    jPLeft = new JPanel();
    jPLeft.setPreferredSize(new Dimension(600,500));
    jPLeft.setBackground(Color.WHITE);
    jPLeft.setLayout(new GridLayout(2,2));
    jPLeft.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
    window.add(jPLeft, BorderLayout.CENTER);

    imageSand = new ImageIcon("..\\CSY1020\\src\\resources\\sand.jpg");
    jBSand = new JButton(imageSand);
    jPLeft.add(jBSand);
    jPLeft.add(jBSand);
    jPLeft.add(jBSand);
    jPLeft.add(jBSand);

1 个答案:

答案 0 :(得分:4)

Component只能添加一次,并且只能有1个父Container

imageSand = new ImageIcon("..\\CSY1020\\src\\resources\\sand.jpg");
for (int i = 0; i < 4; i++) {
    JButton jBSand = new JButton(imageSand);
    jPLeft.add(jBSand);
    jPLeft.add(jBSand);
    jPLeft.add(jBSand);
    jPLeft.add(jBSand);
}