如何通过使用选项框中的按钮动作事件关闭Joptionpane showOptionDialog

时间:2019-06-11 12:04:27

标签: java

我已经在joption窗格中创建了自己的按钮,因为我需要为按钮上色并禁用其中之一以实现我的功能。当我单击其他启用的按钮时,Joption窗格没有关闭,在这里我需要单击十字按钮对话框中将其关闭。

有人可以告诉我如何在按钮动作事件后关闭Joption窗格。

            JFrame frame = new JFrame();
    JButton jb = new JButton(" Yes ");
    jb.setBackground(Color.RED);
    jb.setEnabled(false);
            JButton jb1 = new JButton(" No ");

           jb1.addActionListener(new ActionListener() 
             {
        public void actionPerformed(ActionEvent e) 
                   {

            System.out.println("No action");
        }
    });

    Object[] options = { jb, jb1 };
    JTextArea area = new JTextArea(" *Note : some message !");
    area.setForeground(Color.red);
    int n = JOptionPane.showOptionDialog(frame, area, " Alert ", JOptionPane.YES_NO_OPTION,
            JOptionPane.INFORMATION_MESSAGE, null,options,options[0]);

单击时,无需关闭“选项”窗格的对话框。

1 个答案:

答案 0 :(得分:0)

在侦听器中,您可以执行以下操作:

jb1.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        Window w = SwingUtilities.getWindowAncestor(jb1);
        w.setVisible(false);
    }
}