Java JOptionPane默认文本

Har*_*and 11 java default joptionpane

当我要求用户输入我使用下面代码制作的程序的数量时,默认文本为3.

String input = JOptionPane.showInputDialog(null, "Please enter new quantity",
                                           JOptionPane.QUESTION_MESSAGE);
Run Code Online (Sandbox Code Playgroud)

我该如何改变?

Har*_*Joy 17

您使用的方法是:

public static String showInputDialog(Component parentComponent,
                                     Object message,
                                     Object initialSelectionValue)
Run Code Online (Sandbox Code Playgroud)

这里第三个参数(initialSelectionValue)是文本字段中的默认值.您给出了JOptionPane.QUESTION_MESSAGE第三个参数,它是一个值为3的int常量.因此,您将3作为在文本字段中输入的默认值.

试试这个:

String input = JOptionPane.showInputDialog(null,
                "Please enter new quantity", "");
Run Code Online (Sandbox Code Playgroud)

或这个

String input = JOptionPane.showInputDialog(null,
                "Please enter new quantity", "Please enter new quantity",
                JOptionPane.QUESTION_MESSAGE);
Run Code Online (Sandbox Code Playgroud)

  • `String input = JOptionPane.showInputDialog(null,"请输入新数量","请输入新数量",JOptionPane.QUESTION_MESSAGE,null,null,"默认文本").toString;` (4认同)
  • NullPointer 异常的原因是您在 `JOptionPane` 的结果对象上使用了 `toString()`。您首先需要检查对象是否为空,然后使用 `toString()`。如果输入对话框中的条目为空,@Neifen 的注释将有空指针异常。 (2认同)

小智 10

这样它会起作用:

String input = (String)JOptionPane.showInputDialog(null, "Please enter new quantity",
"Please enter new quantity", JOptionPane.QUESTION_MESSAGE,null,null,"default text");
Run Code Online (Sandbox Code Playgroud)