Tôi biết rằng câu hỏi này phải được hỏi và trả lời hàng triệu lần, nhưng tôi không thể tìm được giải pháp dễ dàng. Tôi có một JTextField đó là có nghĩa là để chấp nhận chỉ số nguyên dương như đầu vào. Tôi cần một cách để đảm bảo rằng không có gì khác được nhập vào đây.Hạn chế nhập JTextField thành Số nguyên
Tôi đã có một trình keyListener gắn với điều khiển này. Xóa mã khác mà nghe này là có để xử lý, tôi có điều này:
txtAnswer.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
/* Restrict input to only integers */
if (key < 96 && key > 105) e.setKeyChar('');
};
});
Như bạn thấy, tôi đang cố gắng sử dụng các mã phím để kiểm tra xem phím vừa nhấn thác trong phạm vi của số nguyên . Điều này dường như hoạt động. Nhưng những gì tôi muốn làm là chỉ đơn giản là bỏ qua mục nhập nếu nó nằm ngoài phạm vi này. Mã e.setKeyChar('')
có nghĩa là để xử lý việc này, nhưng nó không hoạt động. Mã sẽ biên dịch, nhưng nó không có hiệu lực nhìn thấy được.
Ai có thể cho tôi biết nếu tôi đi đúng hướng không? Tôi có thể thay thế e.setKeyChar('')
bằng cách nào để thực hiện công việc này? Hay tôi hoàn toàn đi sai hướng?
Cảm ơn.
@Randy: Xin đừng nhìn vào này [ví dụ] (http://stackoverflow.com/questions/9477354/how-to-allow-introducing-only-digits-in-jtextfield/9478124#9478124) cũng –
http://theunixshell.blogspot.com/search/label/java – Vijay