내 JButton에 바로 가기를 추가하려고합니다. 나는 How to Use Key Bindings 튜토리얼을 읽은 나는이 페이지 How to use Key Bindings instead of Key Listeners 및 키 바인딩에 대한 다른 질문의 loooooooooooooot을 읽고, 그러나 나는 무엇을 시도했다 나키 바인딩이 작동하지 않습니다. Java SE, 스윙
에 대한 답변을 못 찾았 :
public class Example extends JFrame {
public static void main(String args[]) {
Example example = new Example();
}
Example(){
Action action = new Action() {
@Override
public Object getValue(String key) {
return null;
}
@Override
public void putValue(String key, Object value) {
}
@Override
public void setEnabled(boolean b) {
}
@Override
public boolean isEnabled() {
return false;
}
@Override
public void addPropertyChangeListener(PropertyChangeListener listener) {
}
@Override
public void removePropertyChangeListener(PropertyChangeListener listener) {
}
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Hello World!");
}
};
JButton button = new JButton("Hello World!");
button.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("RIGHT"), "doSomething");
button.getActionMap().put("doSomething", action);
button.addActionListener(action);
add(button);
setVisible(true);
pack();
}
}
을
나는 또한처럼 만들려고했습니다 getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, 0, true), "doSmth");
을하지만 아무것도 작동하는 것 같다, 무슨 내가 잘못하고 있는가?
첫 번째 예제가 저에게 효과적입니다. "와"actionPerformed' 함수가 무엇을 의미합니까? " – Ordous
[mcve]를 게시하십시오. 문제가 귀하가 제공 한 코드 스 니펫에 없습니다. – user1803551
질문을 편집했습니다. 이제 'NextCardListener'가 표시됩니다. 나는 슬픈 일을해야한다는 뜻입니다. –