我正在编写一个有点类似于 MS Excel 的客户端应用程序 - 它有一个菜单栏,并且你有几个内部框架,每个框架都是处于几种状态之一的文件。
基本流程是这样的:打开文件后点击构建,构建完成后可以导出/保存(其他场景比较复杂)。
我感兴趣的是每次在帧之间切换时如何更改菜单按钮的状态:如果您还没有按下“构建”,则应该禁用“导出”,但是如果您切换到窗口在您已经按下“构建”按钮并且它已构建的地方,应该启用“导出”按钮。
是否有处理此类事情的设计模式?任何最知名的方法?
我正在编写一个有点类似于 MS Excel 的客户端应用程序 - 它有一个菜单栏,并且你有几个内部框架,每个框架都是处于几种状态之一的文件。
基本流程是这样的:打开文件后点击构建,构建完成后可以导出/保存(其他场景比较复杂)。
我感兴趣的是每次在帧之间切换时如何更改菜单按钮的状态:如果您还没有按下“构建”,则应该禁用“导出”,但是如果您切换到窗口在您已经按下“构建”按钮并且它已构建的地方,应该启用“导出”按钮。
是否有处理此类事情的设计模式?任何最知名的方法?
为您创建的每个内部框架添加一个InternalFrameListener
,并监听internalFrameActivated
事件。该事件包含已被激活的框架。询问这个内部框架的状态,了解它是否已经构建,并相应地启用/禁用菜单项。