获取所选菜单项并在框架上显示相应项目
问题描述:
我有3个条件(菜单中有3个菜单项)。在这三个项目中,如何在框架打开后立即选择一个菜单项,并默认显示该项目的内容?获取所选菜单项并在框架上显示相应项目
稍后如果我们选择其他菜单项,则框架上的相应内容将照常显示。我为这个GUI写了非常冗长的代码,所以无法粘贴到这里。但在这一点上陷入困境。
答
在完全构建GUI后,只需调用ActionListener
的actionPerformed()
方法即可。如果您已实施Action
接口,则此操作特别容易,如How to Use Actions中所示。
使用这种example,添加以下线附近setVisible()
模拟添加几个随机节点到图:
为了模拟点击一个按钮,这条线可模拟将所选择的节点:
gp.control.defaultButton.doClick();
答
默认情况下,所有菜单项在创建时都未选中。要在应用程序中显示它之前选择一个菜单项,应该更改模型的状态。对于JMenu
项目,通过setSelected(true)
和setPopupMenuVisible(true)
很容易。对于JMenuItem
项目,您必须setArmed(true)
。您可以返回到actionPerformed
中的默认状态。
为更好地帮助发布[SSCCE](http://sscce.org/)以及未来的读者...,发布包含带有3个JMenuItem的JFrame的可运行代码, – mKorbel 2012-08-11 11:44:47
使用'CardLayout'在不同的看法。 – 2012-08-11 12:34:09