我有3個條件(菜單中有3個菜單項)。在這三個項目中,如何在框架打開後立即選擇一個菜單項,並默認顯示該項目的內容?獲取所選菜單項並在框架上顯示相應項目
稍後如果我們選擇其他菜單項,則框架上的相應內容將照常顯示。我爲這個GUI寫了非常冗長的代碼,所以無法粘貼到這裏。但在這一點上陷入困境。
我有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