如何定制JoptionPane

时间:2014-03-03 20:45:46

标签: java eclipse swing dialog joptionpane

我需要使用JTextField和两个RadioButton做一个JOptionPane(或类似的东西),但我不知道这是否可行。我有一个带有不同选项的主框架,当我点击“Operacion”时,我应该调用对话框。我该如何进行该对话?

2 个答案:

答案 0 :(得分:4)

文本字段和两个单选按钮应该足够小以适应JOptionPane,所以也许最好继续使用它。

将带有两个单选按钮的JTextField添加到JPanel,并将该JPanel添加为JOptionPane中显示的组件。可能想要使用只显示“确定”的选项窗格,其中一个单选按钮已被选中。

为了安全起见,您可能希望将该JPanel包装在JScrollPane中,因为我认为JOptionPanes不会重新调整大小,并且取决于用户是否通过命令行选项或可访问性设置更改外观,那么您可能会切断了一些GUI组件。

答案 1 :(得分:2)

就个人而言,我不喜欢使用JOptionPane。沿着使用JDialog的道路前进。

可以这么简单:

        JPanel innerPanel = new JPanel(new FlowLayout());
        // Add components and listeners here

        JDialog dialog = new JDialog();
        dialog.add(innerPanel);
        dialog.setModal(true);
        dialog.pack();
        dialog.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

        dialog.setVisible(true);
        dialog.addWindowListener(new WindowAdapter()
        {
            @Override
            public void windowClosing (WindowEvent e)
            {
                super.windowClosing(e);
            }
        });