这很难表达,但我需要能够将特定方法链接到对象。更具体地说,我正在制作一个面向图形的 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 .


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!