【发布时间】:2014-03-15 19:35:31
【问题描述】:
我刚刚开始玩 GUI,我正在尝试从用户那里获取文本输入,并将其分配给一个变量以供以后使用。
简单,我想。我错了。
我希望我的框架看起来像:
public class firstFrame extends JFrame {
JTextField f1 = new JTextField();
String text;
public firstFrame(String title) {
super(title);
setLayout(new BorderLayout());
Container c = getContentPane();
c.add(f1);
text = f1.getText();
System.out.println(text);
}
}
变量text 将获取用户输入的任何文本,然后将其打印到控制台。很简单。
我有一种感觉,我在这里遗漏了一些非常基本的东西,如果有人能告诉我那是什么,我将不胜感激。
【问题讨论】:
-
在用户输入之前,文本字段中不会有任何文本。当用户输入它时,您需要调用
text = f1.getText();向文本字段添加一个 keylistener 并在捕获事件时保存文本。 -
您想了解的是 Eventhandlers,docs.oracle.com/javase/tutorial/uiswing/events,它监听程序中的组件并在发生某些事情时告诉您,即用户输入。
-
@Martin 我会继续阅读的。谢谢马丁。
标签: java variables user-interface jframe jtextfield