Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.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_Joptionpane - Fatal编程技术网

Java 单击后如何关闭此JOptionPane?

Java 单击后如何关闭此JOptionPane?,java,joptionpane,Java,Joptionpane,我的JOptionPane显示得很好,但当我单击按钮时,什么也没发生。单击“X”后,控制台将打印单击的按钮。单击按钮时,它不会关闭: final JOptionPane newDocWarning = new JOptionPane("Would you like to save before opening a new file?", JOptionPane.WARNING_MESSAGE, JOptionPane.YES_NO_CANCEL_OPTION); final JDialog ne

我的JOptionPane显示得很好,但当我单击按钮时,什么也没发生。单击“X”后,控制台将打印单击的按钮。单击按钮时,它不会关闭:

final JOptionPane newDocWarning = new JOptionPane("Would you like to save before opening a new file?", JOptionPane.WARNING_MESSAGE, JOptionPane.YES_NO_CANCEL_OPTION);
final JDialog newDocDialog = new JDialog(this, "New Document", true);                

newDocDialog.setContentPane(newDocWarning);
newDocDialog.setSize(420, 150);
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize(); 
newDocDialog.setLocation(dim.width/2-newDocDialog.getSize().width/2, dim.height/2- newDocDialog.getSize().height/2);
newDocDialog.setVisible(true);

int value = ((Integer)newDocWarning.getValue()).intValue();

if(value == JOptionPane.YES_OPTION){
    System.out.println("YES OPTION WAS CLICKED");
    newDocDialog.dispose();
}else if(value == JOptionPane.NO_OPTION){
    System.out.println("NO OPTION WAS CLICKED");
    newDocDialog.setVisible(false);
}else if(value == JOptionPane.CANCEL_OPTION){
    System.out.println("CANCEL OPTION WAS CLICKED");
    newDocWarning.setVisible(false);
}

你能用这个试试吗

在这种情况下,您不需要关闭它。单击任何按钮后,它将自动关闭

有关更多信息,请查看


你能用

在这种情况下,您不需要关闭它。单击任何按钮后,它将自动关闭

有关更多信息,请查看


您为什么要使用JOptionPane构造函数?为什么不简单地使用JOptionPane的静态方法呢?它们很简单,工作也很好。您指的是使用这个:String[]options={“Yes”、“No”、“Cancel”};显示选项对话框(null,“消息”,“标题”,JOptionPane.YES\u NO\u CANCEL\u选项,JOptionPane.WARNING\u消息,null,选项,选项[2]);而不是构造函数?因为我同意,那会容易得多,我只是不知道如何对上面的按钮进行编码。你为什么要使用JOptionPane构造函数?为什么不简单地使用JOptionPane的静态方法呢?它们很简单,工作也很好。您指的是使用这个:String[]options={“Yes”、“No”、“Cancel”};显示选项对话框(null,“消息”,“标题”,JOptionPane.YES\u NO\u CANCEL\u选项,JOptionPane.WARNING\u消息,null,选项,选项[2]);而不是构造函数?因为我同意,那会容易得多,我只是不知道如何对上面的按钮进行编码。非常感谢,我知道必须有一些简单的方法来做到这一点!真不敢相信我花了这么多时间想弄明白……不客气。请点击我在帖子中提到的链接,了解更多信息。非常感谢,我知道一定有一些简单的方法可以做到这一点!真不敢相信我花了这么多时间想弄明白……不客气。点击我在帖子中提到的链接,了解更多信息。
int value = JOptionPane.showConfirmDialog(frame,
        "Would you like to save before opening a new file?", "New Document",
        JOptionPane.INFORMATION_MESSAGE, JOptionPane.YES_NO_CANCEL_OPTION);