我有一個JFrame內的應用程序創建一個JPanel如下:引用的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()
會給我框架我相信,但我從哪裏去)?
如果需要引用它,爲什麼不使它成爲非靜態類字段?或者找到一些其他乾淨的方法來獲取其參考,例如將它放置在非靜態字段的地圖或集合中? –