java如何从JTextField获取输入,类似于Scanner。下一个()?
我一直在想如何通过在JTextField
中按“Enter”键来接收字符串和整数输入。我希望它类似于Scanner.next()
接收输入的方式-程序“等待”直到输入被给出,它被适当地存储以供进一步使用。我希望能够做到这一点,因为我的程序要求用户输入,然后显示相应的文本。快速示例:
- PROGRAM: "What is your name?"
- USER: (types in name and hits enter)
- PROGRAM: "Welcome, (user's input)."
我可以从按键中提取JTextField的内容,但我不知道如何让程序“等待”输入(“等待”直到按下enter键)
public static String getStringInput(String prompt)
{
console.append(prompt);
String input;
//Here I need to get the input from a JTextField after I've pressed
//enter.
return input;
}
如果有人知道一个更好的方法来实现这个输入和响应系统,那就太好了
谢谢
# 1 楼答案
不要让程序等待这是一个行之后等待,会发生什么。窗口将冻结,事件将无法处理,这是一种非常糟糕的用户体验
JFrame
应用程序,不是命令行工具,所以在开发涉及窗口的东西时,不要使用编写命令行工具的思维方式。想象一下,如果程序停止并在第^{我建议您在事件处理程序中为按钮单击执行所有操作
在开关盒内,您可以通过以下方式进入下一个提示:
# 2 楼答案
一种方法是使用JOptionPane.showInputDialog。应用程序通过一个模态对话框“停止”,您可以非常轻松地获取他的输入
例如:
# 3 楼答案
首先,我认为你必须在文本框中添加一个监听器。如果您使用的是
JTextField
,它将是:程序将监听键盘事件。按ENTER键时,监听器中的函数将运行