有没有办法让JButton上一个新行,JOptionPane

时间:2015-10-27 11:15:33

标签: java swing jbutton joptionpane

我在java中制作一个基本的音板,我希望它能让每2个按钮位于不同的行上,如:

(button) (button)
(button) (button)

这是我现在的代码

JPanel p = new JPanel();
JButton one = new JButton(sound1);
JButton two = new JButton(sound2);
JButton three = new JButton(sound3);
JButton four = new JButton(sound4);
JButton five = new JButton(sound5);

p.add(one);
p.add(two);
p.add(three);
p.add(four);
p.add(five);

int n = JOptionPane.showConfirmDialog(null, p, "Test", JOptionPane.OK_CANCEL_OPTION, -1);

最简单的方法是什么?如果我必须切换到JFrame让我知道我不介意,如果这是唯一的选择。

2 个答案:

答案 0 :(得分:3)

您可以使用GridLayout,它在表格中显示组件。如下所示,3是行数,2是列数。

    p.setLayout(new GridLayout(3, 2));

    p.add(one);
    p.add(two);
    p.add(three);
    p.add(four);
    p.add(five);

答案 1 :(得分:3)

只需在JPanel中使用GridLayout

JPanel p = new JPanel(new GridLayout(0, 2));

第一个参数是行数,第二个参数是列数。如果您将行数指定为0,则告诉布局管理器您只想拥有两列,并且不知道您将需要多少行 - 这些行将动态创建。