介紹Swing菜單和菜單項
Swing菜單和菜單項是按鈕,因為JMenuItem擴展AbstractButton,JMenu擴展JMenuItem。因此,Swing菜單和菜單項繼承了如下功能,即包含文本和(或)圖標、顯示光標進入時的圖標和助記符等。
JMenuItem和JMenu的父組件,它們***都歸于java.awt.Container,以強調菜單和菜單項都是容器。可以把任何類型的組件(從包含一個動畫GIF的標簽到JTree的一個實例)添加到一個菜單或菜單項中。
Swing菜單和菜單項還實現MenuElement接口,以便參與菜單事件的處理。工具條和彈出式菜單都擴展JComponent類,即任意組件都可以添加到一個工具條或彈出式菜單中,介紹下面的組件:
◆JMenuItem
◆JCheckBoxMenuItem
◆JRadioButtonMenuItem
◆JMenu
◆JPopupMenu
◆JMenuBar
例子 1:在菜單中增加復選菜單
- importjava.awt.event.KeyEvent;
- importjavax.swing.JCheckBoxMenuItem;
- importjavax.swing.JFrame;
- importjavax.swing.JMenu;
- importjavax.swing.JMenuBar;
- importjavax.swing.JMenuItem;
- publicclassJCheckBoxMenuItemDemo{
- publicstaticvoidmain(finalStringargs[]){
- JFrameframe=newJFrame("MenuSampleExample");
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- JMenuBarmenuBar=newJMenuBar();
- //FileMenu,F-Mnemonic
- JMenufileMenu=newJMenu("File");
- fileMenu.setMnemonic(KeyEvent.VK_F);
- menuBar.add(fileMenu);
- //File->New,N-Mnemonic
- 22.JMenuItemnewMenuItem=newJMenuItem("New",KeyEvent.VK_N);
- fileMenu.add(newMenuItem);
- JCheckBoxMenuItemcaseMenuItem=newJCheckBoxMenuItem("CaseSensitive");
- caseMenuItem.setMnemonic(KeyEvent.VK_C);
- fileMenu.add(caseMenuItem);
- frame.setJMenuBar(menuBar);
- frame.setSize(350,250);
- frame.setVisible(true);
- }
- }
【編輯推薦】