如果在GraphEdtior类中定义SaveAction类,如下所示:
class SaveAction extends AbstractAction
{
public void actionPerformed(ActionEvent e) {
GraphEditor myGE = GraphEditor.this;
.. do whatever
}
}
如果您的SaveAction类定义为
static
class SaveAction extends AbstractAction
{
private GraphEditor graphEditor;
private boolean myBoolean;
public SaveAction(GraphEditor graphEditor, boolean myBoolean)
{
this.myBoolean = myBoolean;
this.graphEditor = graphEditor;
}
public void actionPerformed(ActionEvent e) {
this.graphEditor....
.. do whatever
}
}
在这两种情况下,saveAction中的actionPerformed()都可以访问grapherEditor来执行所需的操作。