2

我正在尝试将 TextBox 和 Button 水平放置在 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 & Button 垂直显示。如何水平显示它们?请帮助...谢谢。

4

1 回答 1

4

这里您实际上可以这样做,设置一个具有文本字段和按钮的 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 时指定不同。根据这里的文档。

于 2013-08-27T09:45:29.357 回答