首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

怎么对控件设置按键监听

2012-02-22 
如何对控件设置按键监听想对一个菜单项设置为监听键盘的ctrl+s,如何做到呢?求前辈指点,根据API里,就知道怎

如何对控件设置按键监听
想对一个菜单项设置为监听键盘的ctrl+s,如何做到呢?

求前辈指点,根据API里,就知道怎么用SHIFT而已..........



[解决办法]
主要是这句:
setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
示例如下:
import java.awt.event.*;
import javax.swing.*;


public class MenuTest
{
public static void main(String[] args)
{
MenuFrame frame = new MenuFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}

class MenuFrame extends JFrame
{
public MenuFrame()
{
setTitle( "MenuTest ");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);

JMenu fileMenu = new JMenu( "File ");

saveAction = new TestAction( "Save ");
JMenuItem saveItem = fileMenu.add(saveAction);
saveItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK));

JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);

menuBar.add(fileMenu);
}

public static final int DEFAULT_WIDTH = 300;
public static final int DEFAULT_HEIGHT = 200;

private Action saveAction;
}

class TestAction extends AbstractAction
{
public TestAction(String name) { super(name); }

public void actionPerformed(ActionEvent event)
{
System.out.println(getValue(Action.NAME) + " selected. ");
}
}

热点排行
Bad Request.