5 java user-interface swing actionlistener
假设我有这个:
class external {
JFrame myFrame;
...
class internal implements ActionListener {
public void actionPerformed(ActionEvent e) {
...
myFrame.setContentPane(this.createContentPane());
}
}
...
}
Run Code Online (Sandbox Code Playgroud)
createContentPane返回一个Container.现在,如果我在外面做这个代码ActionListener就行了,因为我可以访问它.但是,在里面,我没有.我可以访问myFrame,这是将使用方法的内容更新的内容,但这不足以做我想要的,除非我能从中得到它.
我还需要使用其他实例变量的信息createContentPane(),所以我不确定我能不能做到static.
Osc*_*Ryz 10
你可以:
myFrame.setContentPane(createContentPane());
Run Code Online (Sandbox Code Playgroud)
要么
myFrame.setContentPane(external.this.createContentPane());
Run Code Online (Sandbox Code Playgroud)
顺便说一句,在Java类中,第一个字母通常是大写的.如果你没有这样命名,你的代码仍然可以编译和运行,但是通过遵循编码约定,你将能够阅读其他代码,更重要的是其他代码将能够阅读你的代码.
所以这将是一个更好的风格:
class External {
JFrame myFrame;
...
class Internal implements ActionListener {
public void actionPerformed(ActionEvent e) {
...
myFrame.setContentPane(createContentPane());
//Or myFrame.setContentPane(External.this.createContentPane());
}
}
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3364 次 |
| 最近记录: |