我有一个带有内部类的主类。这是一个摆动/GUI 应用程序。
我有与摆动相关的内部类,例如扩展 JPanel、JDialog 等...
在内部类中,我有匿名类,例如我必须设置并从外部类获取数据的动作侦听器。
例如主类有内部类和内部类内部我有一个匿名侦听器类,例如:
public class Main extends JApplet {
//etc...
private class CTable extends JPanel {
CDialog td;
private JPopupMenu menu;
public CTable(String title, AbstractTableModel tableModel) {
//etc...
menu = new JPopupMenu();
JMenuItem menuItem = new JMenuItem("Test");
menu.add(menuItem);
//etc...
menuItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
CTable.this.td = new CDialog("Test");
CTable.this.td.setVisible(true);
}
});
}
}
我唯一的问题只与它是否像这样访问变量的好习惯有关:CTable.this.td = new CDialog("Test"); CTable.this.td.setVisible(true); ...来自匿名课程和关于不同实现策略/设计模式的建议。