得到了一个JOptionPane,其中包含一个“继续”按钮和一个“关闭过程”按钮。
我如何在if / else语句中处理这些按钮,

因此,如果您单击“继续”,则if中什么也不会发生,但是如果您单击“关闭过程”,它将很大程度上运行我编写的代码。

到目前为止我的代码:

public void getConfirmation() {

    JFrame frame = new JFrame();
    Object[] options = {"Continue","Stop procedure"};

    int n = JOptionPane.showOptionDialog(null,
            "Would you like to continue or stop procedure?","Please confirm",
            JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE,null,options,options[0]);

    frame.toFront();
    frame.repaint();
    frame.setAlwaysOnTop(true);

    if(JOptionPane.YES_OPTION == 1) {

        // Program will keep going
    }

    else if (JOptionPane.NO_OPTION == 0) {

        System.out.println(" ");
        System.out.println("Procedure terminated" + "\n");
        menu.getMenu();
    }



}

最佳答案

当将结果存储在其中时,应使用n进行比较。

int n = JOptionPane.showOptionDialog(null,
        "Would you like to continue or stop procedure?","Please confirm",
        JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE,null,options,options[0]);

...
if (n == JOptionPane.YES_OPTION) {
    ...
}
else if (n == JOptionPane.NO_OPTION) {
    ...
}

关于java - 在JOptionPane中正确处理是或否? -在Java中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23121395/

10-12 04:13