Java API 分類導覽 - javax.swing.JPopupMenu addMenuKeyListener()

JPopupMenu 類別 (class) 的 addMenuKeyListener() 方法 (method) 用來設定快顯功能表與鍵盤按鍵的相關事件處理。



修飾子與參數
public void addMenuKeyListener(MenuKeyListener l)


addMenuKeyListener() 沒有回傳值 (return value) ,需要一個 MenuKeyListener 型態 (type) 的物件 (object) 常數當參數 (paramenter) 。


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

public class addMenuKeyListenerDemo extends MouseAdapter implements MenuKeyListener {
    JFrame frame;
    JMenuItem item1, item2;
    JPopupMenu popupmenu;
    
    public static void main(String[] args) {
        new addMenuKeyListenerDemo();
    }
    
    public addMenuKeyListenerDemo() {
        frame = new JFrame("SwingDemo");
        frame.setSize(600, 400);
        frame.setLayout(new GridLayout(6, 4));
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.addMouseListener(this);
        
        popupmenu = new JPopupMenu();
        item1 = new JMenuItem("one");
        item2 = new JMenuItem("two");
        popupmenu.add(item1);
        popupmenu.add(item2);
        popupmenu.addMenuKeyListener(this);
        
        frame.add(popupmenu);
        frame.setVisible(true);
    }
    
    public void mousePressed(MouseEvent e) {
        popupmenu.show(e.getComponent(), e.getX(), e.getY());
    }
    
    public void menuKeyPressed(MenuKeyEvent e) {
        System.out.println("menuKeyPressed");
    }
    
    public void menuKeyReleased(MenuKeyEvent e) {
        System.out.println("menuKeyReleased");
    }
    
    public void menuKeyTyped(MenuKeyEvent e) {
        System.out.println("menuKeyTyped");
    }
}

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


此例的 addMenuKeyListenerDemo 直接實作 MenuKeyListener 介面
public class addMenuKeyListenerDemo extends MouseAdapter implements MenuKeyListener {


然後建立快顯功能表物件 popupmenu ,最後呼叫 addMenuKeyListener() 並以 this 當參數
popupmenu = new JPopupMenu();
item1 = new JMenuItem("one");
item2 = new JMenuItem("two");
popupmenu.add(item1);
popupmenu.add(item2);
popupmenu.addMenuKeyListener(this);


由於 addMenuKeyListenerDemo 實作 MenuKeyListener 介面,因此要寫出 menuKeyPressed() 、 menuKeyReleased() 、 menuKeyTyped()
public void menuKeyPressed(MenuKeyEvent e) {
    System.out.println("menuKeyPressed");
}
    
public void menuKeyReleased(MenuKeyEvent e) {
    System.out.println("menuKeyReleased");
}
    
public void menuKeyTyped(MenuKeyEvent e) {
    System.out.println("menuKeyTyped");
}


menuKeyPressed() 為按下鍵盤按鍵的動作, menuKeyReleased() 為釋放鍵盤按鍵, menuKeyTyped() 則是介於按下與釋放間動作。


編譯後執行,結果如下



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

沒有留言: