Java API 分類導覽 - javax.swing.JMenuItem

JMenuItem 類別 (class) 用為 Swing 中的選單選項。



修飾子
public class JMenuItem


父類別
javax.swing.AbstractButton


實作介面
Accessible
MenuElement


建構子
public JMenuItem()
public JMenuItem(Icon icon)
public JMenuItem(String text)
public JMenuItem(Action a)
public JMenuItem(String text, Icon icon)
public JMenuItem(String text, int mnemonic)


常用方法
名稱敘述
setEnabled()設定選項是否可用


舉例如下
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class MenuItemDemo implements ActionListener {
    JMenuItem item1, item2, item4, item5;
    
    public static void main(String[] args) {
        new MenuItemDemo();
    }
    
    public MenuItemDemo() {
        JFrame 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");
        item1.addActionListener(this);
        item1.setActionCommand("item1");
        item2 = new JMenuItem("two");
        item2.addActionListener(this);
        item2.setActionCommand("item2");
        demo.add(item1);
        demo.add(item2);
        JMenu item3 = new JMenu("three");
        item4 = new JMenuItem("four");
        item4.addActionListener(this);
        item4.setActionCommand("item4");
        item5 = new JMenuItem("five");
        item5.addActionListener(this);
        item5.setActionCommand("item5");
        item3.add(item4);
        item3.add(item5);
        demo.add(item3);
   
        JMenuBar menubar = new JMenuBar();
        menubar.add(demo);
        frame.setJMenuBar(menubar);
        
        frame.setVisible(true);
    }
    
    public void actionPerformed(ActionEvent e) {
        String cmd = e.getActionCommand();
        
        if (cmd == "item1") {
            item1.setEnabled(false);
        }
        if (cmd == "item2") {
            item2.setEnabled(false);
        }
        if (cmd == "item4") {
            item4.setEnabled(false);
        }
        if (cmd == "item5") {
            item5.setEnabled(false);
        }
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:MenuItemDemo.java
    功能:示範 Java 程式 
    作者:張凱慶
    時間:西元 2012 年 9 月 */


此例的 MenuItemDemo 直接實作 ActionListener 介面
public class MenuItemDemo implements ActionListener {


然後建立選單 JMenu 與選項 JMenuItem , JMenuItem 呼叫 addActionListener() 設定事件處理,並以 this 當參數,並各自呼叫 setActionCommand() 設定按鈕指令,最後 JMenu 要呼叫 add() 加入 JMenuItem
JMenu demo = new JMenu("Demo");
item1 = new JMenuItem("one");
item1.addActionListener(this);
item1.setActionCommand("item1");
item2 = new JMenuItem("two");
item2.addActionListener(this);
item2.setActionCommand("item2");
demo.add(item1);
demo.add(item2);
JMenu item3 = new JMenu("three");
item4 = new JMenuItem("four");
item4.addActionListener(this);
item4.setActionCommand("item4");
item5 = new JMenuItem("five");
item5.addActionListener(this);
item5.setActionCommand("item5");
item3.add(item4);
item3.add(item5);
demo.add(item3);


由於 MenuItemDemo 實作 ActionListener 介面,因此要寫出 actionPerformed()
public void actionPerformed(ActionEvent e) {
    String cmd = e.getActionCommand();
        
    if (cmd == "item1") {
        item1.setEnabled(false);
    }
    if (cmd == "item2") {
        item2.setEnabled(false);
    }
    if (cmd == "item4") {
        item4.setEnabled(false);
    }
    if (cmd == "item5") {
        item5.setEnabled(false);
    }
}


使用者點擊任何選項,該選項 JMenuItem 物件就會呼叫 setEnabled() ,並以 false 當參數。


編譯後執行,結果如下



中英文術語對照
類別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/JMenuItem.html

沒有留言: