2
문제점이 있습니다.JTextPane 및 키보드 입력
스타일이 적용된 텍스트가있는 JScrollPane 내부에 JTextPane이 있습니다. 텍스트는 외부 장치에서 생성 된 다음 StyledDocument로 전달됩니다 (터미널 창처럼 보입니다). 필자는 키 누름 수신기를 사용하여 장치에 입력하는 각 문자를 보내고 문자는 외부 장치의 문서에 인쇄됩니다. 이것은 훌륭하게 작동합니다! 나는 더 행복 할 수 없었다!
예외!
Enter 또는 백 스페이스 키를 누르면 창 "boink"오류 사운드가 재생됩니다. 어떻게 JTextPane을 오버라이드 (override) 해 Enter 나 Backspace를 눌러 "boink"사운드를 재생하지 않게 할 수 있습니까?
감사합니다. 키 리스너를 고정
addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent ke) {
//Absorb this action.
}
@Override
public void keyReleased(KeyEvent ke) {
//Absorb this action.
}
@Override
public void keyPressed(KeyEvent evt) {
char c = evt.getKeyChar();
if (((byte) c) == 0x0A) {
c = ((char) 0x0D);
}
try {
rumIO.write(c);
} catch (Exception e) {
}
}
});
코드에 대한
현재 코드!
addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent evt) {
InputMap inputMap = getInputMap();
ActionMap actionMap = getActionMap();
KeyStroke keyStroke = KeyStroke.getKeyStrokeForEvent(evt);
inputMap.put(keyStroke, "doNothing");
actionMap.put("doNothing", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent ae) {
//Do Nothing
}
});
char c = evt.getKeyChar();
if (((byte) c) == 0x0A) {
c = ((char) 0x0D);
}
try {
rumIO.write(c);
} catch (Exception e) {
}
}
});
내가 필요한 것! 감사. 나는 나의 수정을 위로 게시했다. – merjr