0

我需要创建一个播放列表,我想通过使用两个类来分离代码/逻辑和 GUI:

  • Playlist(代码/逻辑)
  • PlaylistGui(图形用户界面)

应该可以单独使用播放列表类,例如在某种命令行环境中。现在的问题是,当使用 GUI 时,如何将两个类组合在一起?到目前为止我的想法:

  • 从类中公开一个可观察列表,在类上Playlist创建一个方法setItemSource(Playlist source)PlaylistGui
  • 不确定在 Java 中是否可行,只要从 .NET 中了解这一点:让Playlist类触发事件并让PlaylistGui它们捕获它们,应该导致解耦代码吗?:-)

打开新想法 :-) 注意我使用的是 Java 7 和 JavaFX,虽然我猜 JavaFX 不会限制可能性,只是扩展它们。

4

3 回答 3

0

Java 中的事件:http: //castever.wordpress.com/2008/07/31/how-to-create-your-own-events-in-java/

其他替代方案是: Java 委托? 或两者都作为通过套接字进行通信的单独进程

于 2012-10-10T09:24:16.810 回答
0

我认为你的基本概念是合理的,责任下放。

我将创建模型的接口,仅公开您认为任何基本控制器/查看器都需要的那些方法。这意味着您可以在不影响任何依赖它的组件的情况下更改实现。

侦听器本质上只是一种回调机制,感兴趣的各方在其中注册自己(通过公共接口),以便在他们感兴趣的事情发生时得到通知。

查看编写事件侦听器以获取更多信息。

我会从一个通用库开始,它定义了所有各方都需要知道的基本接口(例如PlayList和监听器)。

这将允许根据您的需要设计播放列表的“n”个实现

于 2012-10-10T19:44:52.177 回答
0

查看 FXML、控制器和 SceneBuilder 工具。

于 2012-10-10T14:40:00.573 回答