Trong Java, bằng cách sử dụng giao diện hệ thống không mặc định, chúng tôi sẽ có sơ đồ bàn phím khác nhau.Sử dụng KeyMap mặc định của hệ điều hành gốc
Ví dụ Tôi đang sử dụng Mac OS X và sử dụng giao diện Chất (giao diện hệ thống không mặc định). Hiệu ứng là tôi mất khóa "meta" để chọn tất cả thành phần văn bản Trong mac os x nên là "meta + a", nhưng sử dụng Substance chúng ta phải sử dụng "ctrl + a" (và nhiều hơn thế nữa như "từ tiếp theo", "từ trước", "dòng kết thúc", dòng bắt đầu ", v.v.) Vì vậy, chúng tôi không có cảm giác mac OS x bằng cách sử dụng giao diện hệ thống không mặc định (Giao diện và cảm nhận chất).
có cách nào để sử dụng cái nhìn hệ thống không phải mặc định và cảm nhận nhưng hệ thống sử dụng (bản địa) keymap?
Không, đó không phải là giải pháp thanh lịch. Tôi có thể làm điều gì đó như (có thể thanh lịch hơn): InputMap inputMap = textComponent.getInputMap(); inputMap.put (KeyStroke.getKeyStroke (KeyEvent.VK_A, KeyEvent.CTRL_DOWN_MASK), "none"); inputMap.put (KeyStroke.getKeyStroke (KeyEvent.VK_A, KeyEvent.META_DOWN_MASK), DefaultEditorKit.selectAllAction); "none" sẽ tắt ctrl mặc định + a. Nhưng đây không phải là điều tôi muốn. Tại sao? Bởi vì tôi phải biết tất cả các hành vi mac os x. Nếu có một cách giống như nhận được một hành vi hệ thống và cài đặt nó trên giao diện mới và cảm thấy nó sẽ là tuyệt vời. – uudashr
+1 Đối với bình luận của bạn, bạn có một công việc thanh lịch hơn. Xem câu trả lời đã chỉnh sửa trên một số ý tưởng khác về nguyên nhân gốc rễ ... – Clinton