[Code] Swing中窗口菜单动态变化的实现


本帖最初发表于我另外一个帐号上,先转贴过来。

MDI窗体中一般都会提供“窗口”菜单,其菜单项是 MDI 父窗体中打开的所有子窗体的标题或者其他信息。并且可以在“窗口”菜单中进行相应的选择,使用户选择的窗体能够显示在最前列。这样的功能在 WinForm 中实现太简单了,只需要将“窗口”菜单指定为 MDI 菜单即可,所有相关的操作 ( 比如新建子菜单之后窗口菜单中会多一个菜单项,用户在菜单中选中后将选中的子窗口激活等 ) 全部都可以自动完成 ( 再次膜拜 Microsoft 的强大,虽然有很多人每天都在骂,但 Microsoft 在桌面应用方面的优势至少在这个地球上,还无人能及 ) 。反观我喜爱并忠诚的 Java 中,所有这些操作都要自己去实现了。

    跟MDI 窗体相关的 JDesktopPane 、 JInternalFrame 之间的关系,再次就不再重复了,还不太清楚的朋友自行带着小板凳回家面壁思过就好了。重点说说当一个 JInternalFrame 被实例化出来的时候, JDesktopPane 和主面板上的“窗口”菜单如何进行相应就好了。