gpt4 book ai didi

java - 如何从内部匿名类中寻址匿名类的实例?

转载 作者:行者123 更新时间:2023-11-30 04:26:28 25 4
gpt4 key购买 nike

我有一个代码,其中包含另一个匿名类中的匿名类,并且我需要从内部匿名类中寻址外部匿名类的实例。这是代码:

editTemplateButton.setAction(new AbstractAction("Edit...", GUIUtils.EDIT_ELEMENT_ICON)
{
{
setEnabled(false); // disabled at start
templatesList.addListSelectionListener(new ListSelectionListener()
{
@Override
public void valueChanged(ListSelectionEvent e)
{
setEnabled(!templatesList.isSelectionEmpty()); // depends on selection
}
});
}

@Override
public void actionPerformed(ActionEvent e)
{
//todo
}
});

因此,我在 ListSelectionListener 的实现中调用 AbstractAction 的实现的 setEnabled() 。现在就叫ok了。但我想将 ListSelectionListener 的实现放入变量中,并针对不同的操作使用它两次。如何正确调用setEnabled()?请不要忘记,外部 JFrame 包含此代码也有 setEnabled() 方法,我不想调用它而不是正确的方法。

预先感谢您的回答。

更新:我无法使用像 AbstractAction.this.setEnabled(!templatesList.isSelectionEmpty()); 这样的构造,因为编译器报告错误。

最佳答案

我读错了。您可以将 AbstractAction 转换为私有(private)非匿名内部类(例如 MyAction),然后像 MyAction.this

那样调用它

关于java - 如何从内部匿名类中寻址匿名类的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15751517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com