Thứ Hai, 21 tháng 5, 2018

Ngăn chặn bắt sự kiện phím trong java swing

Khi chúng ta làm một ứng dụng về swing, sẽ có những khi ứng dụng của chúng ta xuất hiện những TextField để người dùng nhập vào loại dữ liệu gì đó từ bàn phím. Và chúng ta cần kiểm soát những giá trị nhập này để không làm sai chương trình. Ví dụ khi ứng dụng yêu cầu nhập chữ nhưng người dùng lại nhập số. Bài viết này sẽ hướng dẫn các bạn ngăn những hành động này bằng cách lọc ra những kí tự được phép nhập bằng các hàm trong java.



Để lọc ra những kí tự được nhập từ bàn phím chúng ta sẽ override lại phương thức keyTyped của KeyActioner và sử dụng hàm KeyEvent.consume() . Hàm consume() sẽ chỉ cho phép những hành động phím được cho phép trong hàm if được thực thi.

Ví dụ:

@Override public void keyTyped(KeyEvent evt) {
if (!Character.isDigit(evt.getKeyChar()) && !(evt.getKeyCode() == KeyEvent.VK_BACK_SPACE)) {
evt.consume();
}
}



Hàm trên sẽ chỉ cho phép bạn nhập kiểu số và phím BACKSPACE.

Không có nhận xét nào:

Đăng nhận xét