를 만들기 위해, 왜 키 인쇄를 타격 않는다 "안녕, 세계"CTRL + 을하지 않습니다 타격 동안?자바 스윙 키 스트로크 (keystroke) : 방법 다음 프로그램에서 CTRL-수정 작업
는import java.awt.event.*;
import javax.swing.*;
public class KeyStrokeTest {
public static void main(String[] args) {
JPanel panel = new JPanel();
/* add a new action named "foo" to the panel's action map */
panel.getActionMap().put("foo", new AbstractAction() {
public void actionPerformed(ActionEvent e) {
System.out.println("hello, world");
}
});
/* connect two keystrokes with the newly created "foo" action:
- a
- CTRL-a
*/
InputMap inputMap = panel.getInputMap();
inputMap.put(KeyStroke.getKeyStroke(Character.valueOf('a'), 0), "foo");
inputMap.put(KeyStroke.getKeyStroke(Character.valueOf('a'), InputEvent.CTRL_DOWN_MASK), "foo");
/* display the panel in a frame */
JFrame frame = new JFrame();
frame.getContentPane().add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 400);
frame.setVisible(true);
}
}
는
어떻게뿐만 아니라 CTRL + 작품 것을 고칠 수 ?
야, 고마워! 귀하의 솔루션은 작동하지만, 아직도 광산이 왜 안되는 지 궁금합니다. – Thomas
흥미로운이 게시물 앞에 제 의견을 말했고, 다른 상황에서 사용할 수있는 다른 대안을 제공했습니다. 나는 다음 번에 모든 문제에 가지 않을 것이라고 생각한다. – camickr
@ 토마스 : 내가 맞는지는 잘 모르겠지만 첫 번째 경우에는 간단한 문자 'a'를 언급했기 때문에 코드가 작동하지 않았을 수 있습니다. 두 번째 경우에서는 ASCII 및 스캔 값 (Ctrl 키) 인 키 조합을 참조합니다. 나는 그것이 사건과 적절하게 연관되어 있어야한다고 생각한다. – bragboy