【问题标题】:What can I do to make the NO_OPTION work? [duplicate]我该怎么做才能使 NO_OPTION 起作用? [复制]
【发布时间】:2020-06-25 09:39:56
【问题描述】:

我希望程序在选择 NO_OPTION 时取消整个过程,只显示输出“价格尚未更改”。但是当我按下否按钮时,会启动 showInputDialog 选项。 我究竟做错了什么? 提前致谢。

import javax.swing.JOptionPane;
public class Gebrauchtwagen {
    public static void main (String... args){
        Auto Auto1 = new Auto(8999.99, "VW Golf", 2007, 56845, "blau");

        System.out.println(Auto1.getPreis());
        System.out.println(Auto1.getModell());
        System.out.println(Auto1.getBaujahr());
        System.out.println(Auto1.getKilometerstand());
        System.out.println(Auto1.getFarbe());
 
        int dialogButton = JOptionPane.YES_NO_OPTION;
        JOptionPane.showConfirmDialog(null,  "Wollen Sie den Preis des Fahrzeuges ändern?", "Frage", dialogButton);
 
        if(dialogButton == JOptionPane.YES_OPTION) {
            String eingabe = JOptionPane.showInputDialog("Der geänderte Preis:");
     
            double preisNeu = Double.parseDouble(eingabe);
     
             Auto1.setPreis(preisNeu);
             System.out.print("Der neue Preis beträgt:"+Auto1.getPreis());
        }
        if(dialogButton == JOptionPane.NO_OPTION) {
            System.out.print("The price has not been changed.");
        }
    }
}

【问题讨论】:

  • 请阅读docs。 showConfirmDialog 返回需要检查的结果,而不是 dialogButton
  • 感谢 QBrute,查看文档让我明白了一些事情。

标签: java


【解决方案1】:

使用返回值showConfirmDialog获取结果

int result = JOptionPane.showConfirmDialog(...)

【讨论】:

    猜你喜欢
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-13
    相关资源
    最近更新 更多