【发布时间】:2011-02-19 09:09:56
【问题描述】:
我已经实现了一个基于播放列表概念的基本 Swing GUI,作为大型 DJ 音频混合应用程序的一部分(想想原始的虚拟 DJ(!))。播放列表基本上由一个 JTable 组成,其中的曲目可以是可以从 JTree 拖放的曲目。包含该表的 JPanel 还包含一组按钮,用于保存、加载和删除播放列表以及加载播放器。这些按钮状态需要根据应用程序的当前状态进行更新(启用/禁用)(即是否加载了播放列表?播放列表中是否有曲目?等)
我正在尝试遵循 MVC 模式,通过控制器将底层 TableModel 与表格和按钮 UI 分开。
我的问题是......处理按钮更新的最优雅/最有效的方式是什么?此时,对当前加载的播放列表文件的引用存储在控制器中,控制器从模型中确定播放列表是否为空。然后它将两个布尔值(isEmpty,isLoaded)发送到视图,然后视图根据这些值确定要启用哪些按钮。这种方法似乎有点不雅,所以我欢迎任何建议。
谢谢!
【问题讨论】:
标签: java model-view-controller swing jtable jbutton