如何水平显示JOptionPane.showOptionDialog中的项目?

时间:2013-08-27 09:33:51

标签: java swing layout layout-manager joptionpane

我正在尝试放置一个TextBox&水平的JOptionPane.showOptionDialog中的按钮。 我用过这段代码。

JTextField txt = new JTextField();
JButton btn = new JButton("Button");
int value = JOptionPane.showOptionDialog(this,
                    new Object[]{txt, btn},
                    "Hello World",
                    JOptionPane.OK_CANCEL_OPTION, 
                    JOptionPane.INFORMATION_MESSAGE,
                    null, null, null);

但TextBox&按钮垂直显示。 如何在水平方向显示它们? 请帮忙... 谢谢。

1 个答案:

答案 0 :(得分:4)

here你可以这样做,设置一个带有文本字段和按钮的JPanel。

int value = JOptionPane.showOptionDialog(this,
                    getPanel(),
                    "Hello World",
                    JOptionPane.OK_CANCEL_OPTION, 
                    JOptionPane.INFORMATION_MESSAGE,
                    null, null, null);

private JPanel getPanel() {
    JPanel panel = new JPanel();
    JTextField txt = new JTextField(20);
    JButton btn = new JButton("Button");

    panel.add(txt);
    panel.add(btn);

    return panel;
}

修改 每个JPanel对象都初始化为使用FlowLayout,除非您在创建JPanel时指定不同。根据文档here