gpt4 book ai didi

java - 将 block 传递给 Java 中的方法

转载 作者:搜寻专家 更新时间:2023-11-01 02:53:58 25 4
gpt4 key购买 nike

我有一个 GUI 元素,它在 swing 应用程序的几个不同点上使用。当按下“确定”按钮时,我需要在每个实例中运行不同的代码。

我已经通过在每种情况下传递一个 Action 监听器来解决这个问题,但是随着我的继续,这变得越来越困惑。最好将 block 传递给方法,这在 Ruby 中是可能的。我想知道 Java 中是否存在类似但干净的东西。

乱码:主要是因为需要在 GUI 对象的元素上调用方法。如果我在构造函数中传递 ActionListener,则该对象尚不存在。我可以在每个实例中调用第二个方法,但这并不可取。

最佳答案

您已经有了正确的想法。将任意代码块传递给方法的常用解决方案是 Command pattern .如果您可以展示您现在拥有的“困惑”代码的示例,则可能会帮助您清理它。

更新回复:困惑的代码

If I pass the ActionListener in the constructor the object doesn't exist yet.

实际的代码示例将有助于提供良好的响应。我猜,也许你想看一个 Factory pattern ?在这种情况下,我更多地考虑封装的好处而不是多态的好处。再一次,只是猜测。查看代码会有所帮助。

关于java - 将 block 传递给 Java 中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5476753/

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