Trong SWT, bạn có thể đặt bất kỳ nút nào cho phím tắt bằng cách thêm &
ở phía trước chữ cái trong nhãn nút. Ví dụ: nếu nhãn nút của tôi là &Play
, tôi có thể kích hoạt nút bằng cách nhấn vào chữ cái p
trên bàn phím.Phím tắt cho jButton mà không sử dụng phím alt
Trong xoay, bạn có thể thêm phím tắt bằng cách sử dụng thuộc tính mnemonic
. Tuy nhiên, bạn cần phải nhấn alt+p
để kích hoạt nút. Điều này thực sự thích hợp nhất cho các phím tắt menu. Tôi muốn kích hoạt nút bằng cách nhấn phím và không sửa đổi độ cao.
Tôi đã xem bài đăng này về cách thực hiện, nhưng có vẻ phức tạp vô lý. Có cách nào dễ hơn để thực hiện việc này không?
http://linuxjavaprogrammer.blogspot.com/2008/01/java-swing-jbutton-keyboard-shortcuts.html
Cập nhật: Sau gợi ý @camickr, tôi đã kết thúc sử dụng mã này. Tôi không thể tìm thấy bất kỳ ví dụ rõ ràng và đơn giản trực tuyến, vì vậy hy vọng điều này sẽ giúp mọi người ra ngoài.
// play is a jButton but can be any component in the window
play.getInputMap(play.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_P, 0), "play");
play.getActionMap().put("play", new AbstractAction() {
public void actionPerformed(ActionEvent e) {
playActionPerformed(e); // some function
}
});