【发布时间】:2011-12-08 23:12:37
【问题描述】:
我有一个应用程序在 JFrame 中创建 JPanel,如下所示:
public class Frame1{
public Frame1(){
Frame2 f2 = new Frame2();
f2.pack();
f2.setVisible(true);
}
class Frame2 extends JFrame{
public Frame2(){
JPanel p1 = new JPanel();
JTextField txt1 = new JTextField("Test",12);
p1.add(txt1);
JButton btn1 = new JButton("Click Me!");
p1.add(btn1);
add(p1);
btn1.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
JOptionPane.showDialog(null,text of the textbox);
}
}
}
有没有办法引用文本字段,即使它不是字段变量并且它只是在构造函数中声明(this.getRootPane().getParent() 会给我我相信的框架,但我从那里去哪里)?
【问题讨论】:
-
如果需要引用,为什么不将其设为非静态类字段呢?或者找到其他一些干净的方法来获取它的引用,例如将它放在一个非静态字段的 Map 或 Collection 中?