2012-08-11 42 views
3

我有3個條件(菜單中有3個菜單項)。在這三個項目中,如何在框架打開後立即選擇一個菜單項,並默認顯示該項目的內容?獲取所選菜單項並在框架上顯示相應項目

稍後如果我們選擇其他菜單項,則框架上的相應內容將照常顯示。我爲這個GUI寫了非常冗長的代碼,所以無法粘貼到這裏。但在這一點上陷入困​​境。

+1

爲更好地幫助發佈[SSCCE](http://sscce.org/)以及未來的讀者...,發佈包含帶有3個JMenuItem的JFrame的可運行代碼, – mKorbel 2012-08-11 11:44:47

+0

使用'CardLayout'在不同的看法。 – 2012-08-11 12:34:09

回答

2

在完全構建GUI後,只需調用ActionListeneractionPerformed()方法即可。如果您已實施Action接口,則此操作特別容易,如How to Use Actions中所示。

使用這種example,添加以下線附近setVisible()模擬添加幾個隨機節點到圖:

​​

爲了模擬點擊一個按鈕,這條線可模擬將所選擇的節點:

gp.control.defaultButton.doClick(); 
1

默認情況下,所有菜單項在創建時都未選中。要在應用程序中顯示它之前選擇一個菜單項,應該更改模型的狀態。對於JMenu項目,通過setSelected(true)setPopupMenuVisible(true)很容易。對於JMenuItem項目,您必須setArmed(true)。您可以返回到actionPerformed中的默認狀態。