我在Netbeans中创建了一个简单的应用程序,它包含一些用于用户输入的文本字段和一个按钮,我通过Netbeans界面将操作与按钮相关联,但我决定在应用程序中定义操作而不是视图以便遵循MVC的一些概念。
动作正常,我可以在每次点击按钮时打印出控制台。
但为了做我想做的事,我需要jTextFields中包含的值!
怎么做?这是TestApp.java中的代码:
@Action
public void ClickedOnButton() {
System.out.println("Clicked ok");
System.out.println("Will now attempt to read notes.ini");
ReadNotesFile();
}
这是TestView.java中的代码:
javax.swing.ActionMap actionMap = org.jdesktop.application.Application.getInstance(tpa_fixer.TPA_FixerApp.class).getContext().getActionMap(TPA_FixerView.class, this);
jButton1.setAction(actionMap.get("ClickedOnButton")); // NOI18N
答案 0 :(得分:1)
你尝试了什么,它是如何工作的?获取JTextField显示文本的标准方法是在其上调用setText()
。你试过这个吗?
此外,
修改强>
你说:
我不想在jTextFields中设置文本,我想从中获取值并在我点击按钮时运行的方法中使用它。我无法看到如何做到这一点,除非我可以在View类的动作定义的主体内以某种方式传递参数。
我在这种情况下做了什么,我需要从gui字段中提取信息以便在其他类中进行操作:
nameField.getText();
的getNameFieldText()方法。getText
方法获取正确的JTextfield,获取其文本并返回它。我经常使用与JTextField关联的JLabel相同的字符串作为我的关键字符串。