修飾子與參數
public void remove(JMenuItem item)
public void remove(int pos)
public void remove(Component c)
remove() 有三種參數 (paramenter) 版本,其為 JMenuItem 或 Component 型態 (type) 的選項物件 (object) ,另外三者都沒有回傳值 (return value)。
舉例如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class MenuDemo { JMenuItem item1, item2, item4, item5; JFrame frame; JMenu demo, item3; public static void main(String[] args) { new MenuDemo(); } public MenuDemo() { frame = new JFrame( "SwingDemo" ); frame.setSize( 600 , 400 ); frame.setLayout( new GridLayout( 6 , 4 )); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JMenu demo = new JMenu( "Demo" ); item1 = new JMenuItem( "one" ); item2 = new JMenuItem( "two" ); demo.add(item1); demo.addSeparator(); demo.add(item2); JMenu item3 = new JMenu( "three" ); item4 = new JMenuItem( "four" ); item5 = new JMenuItem( "five" ); item3.add(item4); item3.add(item5); item3.removeAll(); demo.add(item3); demo.insertSeparator( 0 ); demo.insert(item4, 0 ); demo.insert(item5, 0 ); demo.remove( 2 ); demo.setPopupMenuVisible( true ); JMenuBar menubar = new JMenuBar(); menubar.add(demo); frame.setJMenuBar(menubar); frame.setVisible( true ); for ( int i = 0 ; i < demo.getItemCount(); i++) { System.out.println(demo.getItem(i)); } System.out.println(demo.getPopupMenu()); System.out.println( "isPopupMenuVisible: " + demo.isPopupMenuVisible()); System.out.println( "isTopLevelMenu: " + demo.isTopLevelMenu()); } } /* 《程式語言教學誌》的範例程式 檔名:MenuDemo.java 功能:示範 Java 程式 作者:張凱慶 時間:西元 2012 年 9 月 */ |
此例的 add 建立選單 JMenu 、選項 JMenuItem ,接著 JMenu 型態的 demo 呼叫 add() 加入 JMenuItem 型態的 item1
24 | demo.add(item1); |
加入 item1 之後, demo 呼叫 addSeparator() 加入分隔線
25 | demo.addSeparator(); |
下面繼續建立一個子選單 item3 ,加入 item4 與 item5 後,再呼叫 removeAll() 移除掉所有選項
27 28 29 30 31 32 | JMenu item3 = new JMenu( "three" ); item4 = new JMenuItem( "four" ); item5 = new JMenuItem( "five" ); item3.add(item4); item3.add(item5); item3.removeAll(); |
接著 demo 呼叫 insertSeparator() ,在索引值 0 的地方插入分隔線
34 | demo.insertSeparator( 0 ); |
然後 demo 呼叫 insert() ,依序將 item4 與 item5 加入到索引值 0 的地方
35 36 | demo.insert(item4, 0 ); demo.insert(item5, 0 ); |
接著 demo 呼叫 remove() ,移除索引值為 2 的選項
37 | demo.remove( 2 ); |
下面 demo 呼叫 setPopupMenuVisible() ,設定顯示快顯功能表
38 | demo.setPopupMenuVisible( true ); |
最後利用迴圈,以 demo 的 getItemCount() 當作結束條件,依索引值印出所有 getItem() 值,另外印出 getPopupMenu() 、 isPopupMenuVisible() 與 isTopLevelMenu()
46 47 48 49 50 51 | for ( int i = 0 ; i < demo.getItemCount(); i++) { System.out.println(demo.getItem(i)); } System.out.println(demo.getPopupMenu()); System.out.println( "isPopupMenuVisible: " + demo.isPopupMenuVisible()); System.out.println( "isTopLevelMenu: " + demo.isTopLevelMenu()); |
編譯後執行,結果如下

中英文術語對照 | |
---|---|
類別 | class |
方法 | method |
回傳值 | return value |
型態 | type |
物件 | object |
參數 | parameter |
您可以繼續參考
Swing 元件
- ButtonGroup
- JComponent
- AbstractButton
- JButton
- JToggleButton
- JCheckBox
- JRadioButton
- JMenuItem
- JCheckBoxMenuItem
- JMenu
- JRadioButtonMenuItem
- JColorChooser
- JComboBox
- JFileChooser
- JInternalFrame
- JLabel
- JLayeredPane
- JDesktopPane
- JList
- JMenuBar
- JOptionPane
- JPanel
- JPopupMenu
- JProgressBar
- JRootPane
- JScrollBar
- JScrollPane
- JSeparator
- JSlider
- JSpinner
- JSplitPane
- JTabbedPane
- JTable
- text.JTextComponent
- JEditorPane
- JTextPane
- JTextField
- JFormattedTextField
- JPasswordField
- JTextArea
- JToolBar
- JToolTip
- JTree
- JViewport
- JDialog
- JFrame
- JWindow
相關目錄
Java API 分類導覽
Java 教材
首頁
參考資料
http://docs.oracle.com/javase/6/docs/api/javax/swing/JMenu.html
沒有留言:
張貼留言