Java 如何将JOptionPane.showOptionDialog的默认选项更改为默认的\u关闭\u操作
我遇到了这个问题,我在OptionDialog模式下使用了JOptionPane,但我无法将其设置为默认选项,即如果我选择右上角的x,它会自动关闭;这是因为在showOptionDialog的声明中,它使我只选择了包含我的选择的Object[]数组中的一个。这是代码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
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: