Java JOptionPane 默认文本
Posted
技术标签:
【中文标题】Java JOptionPane 默认文本【英文标题】:Java JOptionPane default text 【发布时间】:2011-07-20 13:45:17 【问题描述】:当我要求用户为我使用以下代码制作的程序输入数量时,默认文本为 3。
String input = JOptionPane.showInputDialog(null, "Please enter new quantity",
JOptionPane.QUESTION_MESSAGE);
我该如何更改?
【问题讨论】:
“默认文本”是什么意思? 文本域中已经输入的文本 【参考方案1】:你使用的method是:
public static String showInputDialog(Component parentComponent,
Object message,
Object initialSelectionValue)
这里的第三个参数 (initialSelectionValue
) 是文本字段中的默认值。您将 JOptionPane.QUESTION_MESSAGE
作为第三个参数,它是一个值 = 3 的 int 常量。因此,您将 3 作为在文本字段中输入的默认值。
试试这个:
String input = JOptionPane.showInputDialog(null,
"Please enter new quantity", "");
或者这个
String input = JOptionPane.showInputDialog(null,
"Please enter new quantity", "Please enter new quantity",
JOptionPane.QUESTION_MESSAGE);
【讨论】:
String input = JOptionPane.showInputDialog(null, "Please enter new quantity", "Please enter new quantity", JOptionPane.QUESTION_MESSAGE,null,null,"default text").toString;
^^ 我认为这应该被选为这个问题的最佳答案,因为它也允许标题。但由于某种原因它给了我一个错误。
NullPointer 异常的原因是您在JOptionPane
的结果对象上使用了toString()
。您首先需要检查该对象是否为空,然后使用toString()
。如果输入对话框中的条目为空白,@Neifen 的注释将出现空指针异常。【参考方案2】:
这样就可以了:
String input = (String)JOptionPane.showInputDialog(null, "Please enter new quantity",
"Please enter new quantity", JOptionPane.QUESTION_MESSAGE,null,null,"default text");
【讨论】:
【参考方案3】:您使用的方法是JOptionPane.showInputDialog(Component, Object, Object)。
您要使用的方法是JOptionPane.showInputDialog(Component, Object, String, int)。
【讨论】:
我希望用户在执行此操作时能够输入数字 JOptionPane.showInputDialog(null, "请输入新数量", "请输入新数量", 1) 它只是显示了一个弹出窗口没有输入框,我做错了吗??? @Ste T 你可以。将您的方法调用更改为String input = JOptionPane.showInputDialog(null, "Please enter new quantity", "Title", JOptionPane.QUESTION_MESSAGE)
;
请检查您的链接,因为它们将来会出现在“预览”中,并注意最好链接到当前版本的JavaDocs(在搜索ClassName+javadoc+6
时添加“6”应该这样做)。以上是关于Java JOptionPane 默认文本的主要内容,如果未能解决你的问题,请参考以下文章
Java:使用 JOptionPane.showInputDialog(null, "Text"); 的多行文本
如何使 JOptionPane.showConfirmDialog 默认没有选中?