use*_*944 4 java swing joptionpane
我很抱歉,如果这听起来像一个愚蠢的问题,但我在JOptionPane的自定义按钮上到处搜索.我遇到了如何实现特殊按钮,但我似乎无法在我的程序中使用它.
int choice;
Object[] doors = { "Door 1", "Door 2", "Door 3" };
JFrame frame = new JFrame();
input = "Which door do you choose?";
choice = JOptionPane.showOptionDialog(frame, input,
"Doors",
JOptionPane.DEFAULT_OPTION,
JOptionPane.QUESTION_MESSAGE,
null,
doors,
doors[2]);
if (car == 1 && choice.equals(doors[0])) {
open = 3; option = 2;
}
if (car == 1 && choice.equals(doors[1])) {
open = 3; option = 1;
}
if (car == 1 && choice.equals(doors[2])) {
open = 2; option = 1;
}
if (car == 2 && choice.equals(doors[0])) {
open = 3; option = 2;
}
if (car == 2 && choice.equals(doors[1])) {
open = 1; option = 3;
}
if (car == 2 && choice.equals(doors[2])) {
open = 1; option = 2;
}
if (car == 3 && choice.equals(doors[0])) {
open = 2; option = 3;
}
if (car == 3 && choice.equals(doors[1])) {
open = 1; option = 3;
}
if (car == 3 && choice.equals(doors[2])) {
open = 2; option = 1;
}
Run Code Online (Sandbox Code Playgroud)
注意:这不是我的整个程序只是有问题的方面
对话框中的选项显示完美,只有错误表示"int不能被引用".我想我使用了一个错误的比较但是我该如何修复呢?
你看起来试图取消引用一个int,你试图在int上选择一个方法,选择,而你只是不能用Java做到这一点.为什么不简单地在门阵列中使用选择?doors[choice]?
// first check that the JOptionPane wasn't closed by the user
if (choice != JOptionPane.CLOSED_OPTION) {
String chosenDoor = doors[choice];
}
Run Code Online (Sandbox Code Playgroud)
或者在测试汽车时使用它作为数字作为int来测试选择.