Tôi gặp sự cố với setAccelerator()
. Ngay bây giờ, tôi có mã hoạt động cho Ctrl + X cho thao tác DELETE. Tôi muốn thiết lập máy gia tốc để Shift + Xóa cũng cho cùng một JMenuItem
.Có thể xác định nhiều bộ gia tốc cho một JMenuItem không?
Mã của tôi như sau:
JMenuItem item = new JMenuItem(menuText);
item.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_X, KeyEvent.CTRL_MASK));
item.setAccelerator(KeyStroke.getKeyStroke(
KeyEvent.VK_DELETE, KeyEvent.SHIFT_MASK));
nhưng điều này đang làm việc chỉ cho Shift + Delete hoạt động. Dường như nó đang ghi đè thao tác Ctrl + X. Chúng ta có thể làm cho cả hai tổ hợp phím này hoạt động cùng một lúc?
Vui lòng hướng dẫn.
Đó phải là OR thay vì PLUS: 'KeyEvent.CTRL_MASK | KeyEvent.SHIFT_MASK' – MondKin