简而言之:如何访问传递到 eventHandler 中的 GUI 构造函数的参数?
更多详情: 我正在使用 NetBeans 和 Swing 用 Java 编写插件。我创建了一个带有 GUI 的 Jframe,其中包含一个 JTextField。 JTextField 的事件处理程序将输入的值写入变量。在 eventHandler 中,接下来我想调用一个 method(),它使用这个变量 和 另一个,它被传递到 GUI 的构造函数中。
??我怎样才能访问这个变量? NetBeans 不会让我更改自动生成的 eventHandler 签名以包含我需要的 GUI 变量。此事件处理程序代码如下。
对我来说这是 Java 的第 3 周,如果这是一个非常基本的问题,我深表歉意
谢谢
乙
PS 感谢网站,它已经回答了许多其他问题。
private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) { // *** no edit allowed to signature (greyed by NetBeans)
System.out.println( "textField2: " + jTextField1.getText() );
String s = jTextField2.getText();
try {
numIter = Integer.parseInt(s.trim());
testMethod(numIter, paramPassedIntoGUIconstructor);
// ?? how to get paramPassedIntoGUIconstructor?? <<-- key question
} catch (NumberFormatException nfe) {
JOptionPane.showMessageDialog(Cytoscape.getDesktop(),
"That's not an integer!", "NumberFormatException",1);
}
} // *** no edit allowed (greyed by NetBeans)
最佳答案
我不确定我是否理解这个问题,但你应该能够添加一个成员变量:
private final Integer answer;
// Variables declaration - do not modify
...
// End of variables declaration
在你的构造函数中初始化它:
public MyClass(Integer iWantAccessToThis) {
initComponents();
answer = iWantAccessToThis;
}
访问它,随意:
private void jTextField2ActionPerformed(java.awt.event.ActionEvent evt) {
...
System.out.println(this.answer);
...
}
关于java - 事件处理程序,定义和访问参数(java Swing Netbeans),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5039181/