当前位置: 首页 > 知识库问答 >
问题:

我可以在主方法或任何方法中添加ActionListener()吗?

顾恺
2023-03-14
public void Message() {
@Override
public void actionPerformed(ActionEvent e) {
    JOptionPane.showMessageDialog(null, "Hello it is working");
}

}

//Message()是类中的一个方法。

共有3个答案

郜俊晤
2023-03-14

因为Java8方法可以使用lambdas进行嵌套。java中的方法是否可以嵌套[…]?不,那是不可能的。

你能得到的最接近的东西是:

class Name {
    void methodOne() {
        class InnerClass {
           void methodTwo() {
           }
         }
     }
 }

也就是说,第二方法定义在一个方法定义的内部类中。

您可以在内部类中声明方法为静态的,这样您就不必调用new了

裘光启
2023-03-14

不,我们不能在java中创建嵌套方法。尝试阅读关于actionlisteners的内容。:)

祁柏
2023-03-14

所有方法都必须在一个类内单独声明。简单来说,方法是某个类的对象可以做的事情,在另一个方法中定义它们是没有意义的。所以对你来说,

public void Message (){

}
@Override
public void actionPerformed(ActionEvent e){
    JOptionPane.showMessageDialog(null, "Hello it is working");
}

编辑:这篇文章值得一读。我对lambda表达式一无所知,但它可能是你要找的:)Java支持内部/本地/子方法吗?

 类似资料:
  • 问题内容: 我想在Java的String类中添加一个方法,以便我可以键入而不是以获得类似的信息。我也不想添加另一个派生类(例如)。 也许这种方法对您不利,但我个人讨厌使用。但是,无论如何,是否有可能向Java中的String类添加新方法? 感谢致敬。 问题答案: 是最后一个类,这意味着它不能扩展为可以在您自己的实现上工作。

  • 我有一个jFrame,用户在其中输入数据,还有一个控制器类,我想在其中将数据输入一个新对象。目前,我已经在jFrame中的按钮中添加了一个侦听器,但无法让它识别控制器类中的actionPerformed方法。 侦听器的“this”部分表示它正在泄漏到构造函数中,而类本身则表示: “CreateAccountGUI不是抽象的,并且不会覆盖Action Listener中的抽象方法actionPerf

  • 问题内容: 我已连接到,并且想要输入一些内容,以便它退出其中的方法。 码: 我想输入并返回主类方法。 该方法使用a 输出数据。 问题摘要:我尝试调用return;但它不会返回方法main(),我该如何解决? 问题答案: 基本上,您需要的是某种模式对话框,通过该对话框,您可以有效地在显示对话框的那一点上暂停程序的执行,直到关闭(关闭)该对话框为止,然后继续执行… 有关更多详细信息,请参见如何制作对话

  • 问题内容: 在Django中,如果我有模型类,例如 然后,如果我想向模型添加方法以存储例如相当复杂的过滤器,则可以添加自定义模型管理器,例如 然后我可以做: 有什么方法可以添加可链接到模型的查询集末尾的自定义方法? 即以一种我可以做到的方式添加自定义方法: 问题答案: 您需要向最终添加的方法添加方法。因此,您需要创建和使用一个子类,该子类具有在需要此功能的位置定义的方法。 我找到了本教程,该教程说

  • 问题内容: 每当我尝试调用repaint()方法时,都会说不能从静态方法引用非静态方法。顺便说一句,它与paintComponent方法在同一类中。我尝试首先在类之外创建一个对象,然后使用对象名称引用它,但是它也没有用。请帮忙。 问题答案: 主要方法是静态的。您的p对象不是:它是P类的实例字段。试试这个: 您应该始终从事件分发线程访问Swing组件,这就是为什么我将它们全部放在EventQueue

  • 问题内容: 经过大量搜索,我发现有几种方法可以向现有实例对象添加绑定方法或未绑定类方法 此类方法包括以下代码采用的方法。 让我烦恼的是,输入该函数的名称,或两次。 有什么简单的方法可以将现有功能添加到类或实例中,而无需再次键入该功能的名称? 例如, 将现有功能添加到实例或类将是一种非常优雅的方法,因为该功能已经具有属性。 问题答案: 通常,当您使用点分访问查找对象字典时,存储在对象字典中的函数不会