Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.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重置计数器并使用JOption窗格关闭程序_Java - Fatal编程技术网

java重置计数器并使用JOption窗格关闭程序

java重置计数器并使用JOption窗格关闭程序,java,Java,当我的JButton被点击5次时,我想显示一个对话框,询问用户是否需要更多的问题 是还是不是 是应将计数器重置为0,并允许询问更多问题 在对话框中单击时,不应关闭程序 我现在的做法是将计数器重置为0,我不确定在哪里添加 System.exit(0); 这是我的密码 b1.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent e) {

当我的JButton被点击5次时,我想显示一个对话框,询问用户是否需要更多的问题

是还是不是

是应将计数器重置为0,并允许询问更多问题

在对话框中单击时,不应关闭程序

我现在的做法是将计数器重置为0,我不确定在哪里添加

 System.exit(0);
这是我的密码

 b1.addActionListener(new ActionListener() {
            public void actionPerformed (ActionEvent e)
            {
                 clicked++;

                 if (clicked >= 5) {
                     Object[] options = {
                                        "No, thanks",
                                        "Yes, please"
                                        };
             JOptionPane.showOptionDialog(frame,
             "Would you like more math questions? ",
             "Math Questions",
             JOptionPane.YES_NO_CANCEL_OPTION,   System.exit(0);
             JOptionPane.QUESTION_MESSAGE,
             null,
             options ,  
             options[1]);
                 } else {
                     clicked = 0;
                 } 
            }
            });

你介意在你的例子中把它添加到我的代码中吗?我不理解你的代码在引用我的代码时做了什么。我更新了它。您也在第14行调用了System.exit(),这需要继续。好的,谢谢,它工作得很好。我想问你一个问题,在显示下一个答案之前,首先会弹出一个对话框。但如果你继续,它会在你提出问题之前出现。如何在每5个问题显示下一个问题之前显示它,而不是单击?我可以把点击改成实际的函数++或类似的东西吗?Hrm。我需要看看你是如何在代码中调用这个方法的,我只想把它放在上面,我会看一看。只是你调用对话框的类文件。我看到你改变了什么。但每次都会变为10。第一次它停在一个问题上,下一个答案。。。如何确保在显示答案时始终询问对话框。
b1.addActionListener(new ActionListener() {
  public void actionPerformed (ActionEvent e)
  {

    clicked++;

    if (clicked >= 5) {

      Object[] options = {
        "No, thanks",
        "Yes, please"
      };

      int response = JOptionPane.showOptionDialog(frame,
        "Would you like more math questions? ",
        "Math Questions",
        JOptionPane.YES_NO_CANCEL_OPTION,
        JOptionPane.QUESTION_MESSAGE,
        null,
        options ,  
        options[1]);

      if (response == 1) 
        clicked = 0; //reset
      else
        System.exit(0);
    } 

  }
});