Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JOptionPane灰显一个按钮_Java_Swing_Joptionpane - Fatal编程技术网

Java JOptionPane灰显一个按钮

Java JOptionPane灰显一个按钮,java,swing,joptionpane,Java,Swing,Joptionpane,我需要使用JOptionPane为用户提供两个选项。根据以前的操作,其中一个按钮可能需要禁用 使用JOptionPane是否可以将其中一个按钮设置为禁用或启用 我怎样才能做到这一点?如果您使用JButtons,这很容易: public class Test { public static void main(String[] args) { final JButton option1 = new JButton("option1"); fi

我需要使用
JOptionPane
为用户提供两个选项。根据以前的操作,其中一个按钮可能需要禁用

使用
JOptionPane
是否可以将其中一个按钮设置为禁用或启用


我怎样才能做到这一点?

如果您使用JButtons,这很容易:

    public class Test
{
    public static void main(String[] args)
    {
        final JButton option1 = new JButton("option1");
        final JButton option2 = new JButton("option2");
        option1.setEnabled(false);
        // option2.setEnabled(false);
        option1.addActionListener(new ActionListener()
        {
            @Override
            public void actionPerformed(ActionEvent arg0)
            {
                // code here
            }
        });
        option2.addActionListener(new ActionListener()
        {
            @Override
            public void actionPerformed(ActionEvent e)
            {
                // code here
            }
        });
        JOptionPane.showOptionDialog(null, "hello", "The Title", JOptionPane.NO_OPTION, JOptionPane.PLAIN_MESSAGE, null, new JButton[]
        { option1, option2 }, option1);
    }
}

是的,而且很乱。检查一个例子虽然许多事情都可以通过
JOptionPane
来实现,但对其进行调整通常是不切实际的。在这些情况下,最好使用
JDialog
。您可以使用JDialog像JOptionPane一样对其进行自定义。它简单且易于实现。