java - 使用自定义 JOptionPane 按钮? int 延迟错误?

标签 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;
    }

注意:这不是我的整个程序,只是有问题的方面

对话框中的选项显示完美,只是有错误提示“int cannot be deferenced”。我认为我使用了错误的比较,但我该如何解决它?

最佳答案

您似乎在尝试取消对一个 int 的引用,您在尝试调用一个 int 上的方法,选择,而您不能用 Java 做到这一点。为什么不简单地在门阵列中使用 choice 呢? 门[选择]?

// first check that the JOptionPane wasn't closed by the user
if (choice != JOptionPane.CLOSED_OPTION) {
  String chosenDoor = doors[choice];
}

或者在测试汽车时测试选择,将其用作整数。

关于java - 使用自定义 JOptionPane 按钮? int 延迟错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12904181/

相关文章:

java - 如何避免 Apache Solr 中的 Java OutOfMemoryMemory Java 堆空间

java - PLAF 无法更改按钮颜色

java - 将 java enum 转换为 scala Enumeration 以进行 json4s 序列化

java - 停止 JOptionPane 上的堆栈跟踪

java - 如何使用 JOptionPane 重新启动应用程序?

java - 使用 ActimeMQ 和 Spring Consumer 通过 mqtt 发送和接收图像文件

java swing GridBagLayout 空间左

java - JOptionPane 会降低应用程序性能吗?

java - 向 jFrame 添加多个 jPanel

java - 使用 JSpinner stateChanged 方法更新 JOptionPane 中的消息