62,616
社区成员
发帖
与我相关
我的任务
分享
button.addKeyListener(new KeyAdapter(){
@Override public void keyPressed(KeyEvent evt){
if(evt.getKeyCode() == KeyEvent.VK_HOME){
JOptionPane.showMessageDialog(...);
}else{
evt.consume();
}
}
});
Action showWarningAction = new AbstractAction(){
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(...);
}
};
jbutton.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_HOME,0),"showWarning");
jbutton.getActionMap().put("showWarning",showWarningAction);
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Test {
public static void main(String[] args) {
final JFrame frame = new JFrame();
frame.setSize(400, 300);
JButton button = new JButton("按钮");
InputMap inputMap = button.getInputMap();
ActionMap actionMap = button.getActionMap();
inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_HOME, 0), "home");
actionMap.put("home", new AbstractAction(){
public void actionPerformed(ActionEvent event) {
JOptionPane.showMessageDialog(frame, "你按下了HOME键");
}
});
frame.add(button, BorderLayout.SOUTH);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}