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

JCheckBoxMenuItem 類別 (class) 用為 Swing 中的選單選項,通常用於複選。



修飾子
public class JCheckBoxMenuItem


父類別
javax.swing.JMenuItem


實作介面
SwingConstants
Accessible


建構子
public JCheckBoxMenuItem()
public JCheckBoxMenuItem(Icon icon)
public JCheckBoxMenuItem(String text)
public JCheckBoxMenuItem(Action a)
public JCheckBoxMenuItem(String text, Icon icon)
public JCheckBoxMenuItem(String text, boolean b)
public JCheckBoxMenuItem(String text, Icon icon, boolean b)


常用方法
名稱敘述
setState()設定選項是否預設選取
getState()回傳選項是否被選取


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

public class CheckBoxMenuItemDemo implements ItemListener {
    JCheckBoxMenuItem item1, item2, item3, item4;
    
    public static void main(String[] args) {
        new CheckBoxMenuItemDemo();
    }
    
    public CheckBoxMenuItemDemo() {
        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 JCheckBoxMenuItem("one");
        item1.setState(true);
        item1.addItemListener(this);
        item2 = new JCheckBoxMenuItem("two");
        item2.addItemListener(this);
        item3 = new JCheckBoxMenuItem("three");
        item3.addItemListener(this);
        item4 = new JCheckBoxMenuItem("four");
        item4.addItemListener(this);
        demo.add(item1);
        demo.add(item2);
        demo.add(item3);
        demo.add(item4);
   
        JMenuBar menubar = new JMenuBar();
        menubar.add(demo);
        frame.setJMenuBar(menubar);
        
        frame.setVisible(true);
    }
    
    public void itemStateChanged(ItemEvent e) {
        System.out.println("item1:" + item1.getState());
        System.out.println("item2:" + item2.getState());
        System.out.println("item3:" + item3.getState());
        System.out.println("item4:" + item4.getState());
    }
}

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


此例的 CheckBoxMenuItemDemo 直接實作 ItemListener 介面
public class CheckBoxMenuItemDemo implements ItemListener {


然後建立選單 JMenu 與選項 JCheckBoxMenuItem , JCheckBoxMenuItem 呼叫 addActionListener() 設定事件處理,並以 this 當參數,其中第一個 JCheckBoxMenuItem 呼叫 setState() ,設定 true 為預設參數,最後 JMenu 要呼叫 add() 加入 JCheckBoxMenuItem
JMenu demo = new JMenu("Demo");
item1 = new JCheckBoxMenuItem("one");
item1.setState(true);
item1.addItemListener(this);
item2 = new JCheckBoxMenuItem("two");
item2.addItemListener(this);
item3 = new JCheckBoxMenuItem("three");
item3.addItemListener(this);
item4 = new JCheckBoxMenuItem("four");
item4.addItemListener(this);
demo.add(item1);
demo.add(item2);
demo.add(item3);
demo.add(item4);


由於 CheckBoxMenuItemDemo 實作 ItemListener 介面,因此要寫出 itemStateChanged()
public void itemStateChanged(ItemEvent e) {
    System.out.println("item1:" + item1.getState());
    System.out.println("item2:" + item2.getState());
    System.out.println("item3:" + item3.getState());
    System.out.println("item4:" + item4.getState());
}


使用者點擊任何選項,該選項 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/JCheckBoxMenuItem.html

沒有留言: