Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.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.showOptionDialog的默认选项更改为默认的\u关闭\u操作_Java_Swing_Joptionpane - Fatal编程技术网

Java 如何将JOptionPane.showOptionDialog的默认选项更改为默认的\u关闭\u操作

Java 如何将JOptionPane.showOptionDialog的默认选项更改为默认的\u关闭\u操作,java,swing,joptionpane,Java,Swing,Joptionpane,我遇到了这个问题,我在OptionDialog模式下使用了JOptionPane,但我无法将其设置为默认选项,即如果我选择右上角的x,它会自动关闭;这是因为在showOptionDialog的声明中,它使我只选择了包含我的选择的Object[]数组中的一个。这是代码 Object[] options = {"Vacanza","Cena","Prestazione","Bene"}; int choice = JOptionPane.showOptionDialog(frame,"Nuovo P

我遇到了这个问题,我在OptionDialog模式下使用了JOptionPane,但我无法将其设置为默认选项,即如果我选择右上角的x,它会自动关闭;这是因为在showOptionDialog的声明中,它使我只选择了包含我的选择的Object[]数组中的一个。这是代码

Object[] options = {"Vacanza","Cena","Prestazione","Bene"};
int choice = JOptionPane.showOptionDialog(frame,"Nuovo Prodotto","Scegli il prodotto",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,options,options[0]);
if (choice == 0) {
       //things to do }
else if (choice == 1) {
        //things to do }...

现在,我必须将showoptiondialog的最后一个参数设置为我的选择之一,然后如果我选择上角的X,当我只希望它不做任何操作就关闭时,它仍会执行默认选择,我如何修复这个问题?请帮助我

我尝试了这个示例代码来测试您正在尝试的内容。当我单击X时,它会打印出“其他选定项”。
可能我不理解您的问题。你能澄清一下吗

import javax.swing.*;

public class Helloworld {
    static JFrame frame;

    public Helloworld(){
    }

    public void run(){
        Object[] options = {"Vacanza","Cena","Prestazione","Bene"};
        int choice = JOptionPane.showOptionDialog(
                null,
                "Nuovo Prodotto",
                "Scegli il prodotto",
                JOptionPane.YES_NO_OPTION,
                JOptionPane.QUESTION_MESSAGE,
                null,
                options,
                options[0]);
        if(choice == 0){
            System.out.println("0 selected");
        }
        else{
            System.out.println("Something else selected");
        }
    }

    public static void main(String[] args) {
        Helloworld hw = new Helloworld();
        hw.run();
    }
}

是的,伙计,从你的代码中我知道问题出在哪里,因为我使用if(choice==0)选择选项。。如果(选项==1)…如果(选项==2)。。然后考虑最后一个选择只使用其他,当与其他人一起,你甚至会考虑X上右上角的选择,而不仅仅是最后的选择,对你的帮助TY: