修飾子與參數
public void setEnabled(boolean b)
setEnabled() 沒有回傳值 (return value) ,需要一個 boolean 型態 (type) 的非物件 (object) 常數當參數 (paramenter) 。
舉例如下
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
沒有留言:
張貼留言