如何将JOptionPane.showOptionDialog的默认选项更改为default_close_operation

时间:2014-01-29 17:44:43

标签: java swing joptionpane

我遇到了这个问题我在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它无论如何都做默认选择当我只是想让它关闭什么都不做时,我该如何修复这家伙?请帮助我

1 个答案:

答案 0 :(得分:1)

我尝试了这个示例代码来测试您正在尝试的内容。当我点击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();
    }
}