gpt4 book ai didi

java - 有没有办法在 Java 中传递方法引用?

转载 作者:行者123 更新时间:2023-12-02 07:42:41 25 4
gpt4 key购买 nike

这很难表达,但我需要能够将特定方法链接到对象。更具体地说,我正在制作一个面向图形的 GUI,我希望能够将任意方法指定为元素(例如按钮)的默认“操作”函数。

也就是说,我创建了这些基本上具有 self 绘制能力的接口(interface)“图形”对象。我希望他们处理自己的行为,所以我可以,例如,做这样的事情:

GraphicObject b1 = new Button();
GraphicObject b2 = new Button();
b1.assignDefaultAction(---some method reference here--);
b2.assignDefaultAction(---a different method reference here--);

然后,如果我做类似的事情:

b1.action();
b2.action();

每个元素都会独立调用自己引用的方法。我相信这在 C++ 中是可能的,但我还没有在 Java 中看到它。甚至有可能,还是有某种解决方法?我试图避免的事情是必须为我需要做的每一件小事创建特定的抽象,或者在我的包含 JPanel 中乱扔一百个看起来很乱的规范。

感谢您的帮助。

最佳答案

按钮应该使用ActionListener 实现。在这种特殊情况下坚持使用 Swing。

您自己的类可以效仿并从命令模式接口(interface)开始:

public interface Command {
public void execute(Map<String, Object> parameters);
}

或者更好的主意是坚持使用 JDK 提供的 API 并尝试 Callable .

关于java - 有没有办法在 Java 中传递方法引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9338193/

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