Tôi đang tạo một ứng dụng có java có JTextPane. Tôi muốn có thể thực thi một số mã khi nhập nhập (hoặc khi người dùng chuyển sang dòng tiếp theo). Tôi đã xem trên web và không tìm thấy giải pháp. Nó sẽ là tốt hơn để giải quyết điều này với C#? Nếu không, làm thế nào tôi có thể đăng ký phím Enter trong sự kiện keyTyped() của JTextPane? Nếu C# là một lựa chọn tốt, làm thế nào tôi sẽ làm điều này trong C#?Java: Đăng ký <ENTER> nhấn phím trên JTextPane
Dưới đây là một giải pháp tôi nghĩ sẽ làm việc ... nhưng không
//Event triggered when a key is typed
private void keyTyped(java.awt.event.KeyEvent evt) {
int key = evt.getKeyCode();
if (key == KeyEvent.VK_ENTER) {
Toolkit.getDefaultToolkit().beep();
System.out.println("ENTER pressed");
}
}
Tại sao ví dụ trên không hoạt động là bởi vì không có vấn đề mà chính tôi bấm, tôi nhận được một keyCode của 0. Tôi sẽ thích một giải pháp cho vấn đề này trong Java nhưng C# cũng sẽ làm việc tốt, có lẽ tốt hơn. Ngoài ra, hãy cố gắng trả lời câu hỏi bằng các ví dụ và không liên kết (trừ khi bạn thực sự cần). Cảm ơn!
không sử dụng keyListeners, sử dụng keyBindings như @Hovercraft đề xuất – kleopatra
Từ JavaDocs cho getKeyCode(): 'Đối với các sự kiện KEY_TYPED, mã khóa là VK_UNDEFINED.' Nó được ghi nhận như vậy ít nhất là từ 1.3. –