我有一個 Swing 應用程式,但我們遇到了一些 Mac 用戶和JTable組件的問題。
這些表設定了以下選擇模式:
setSelectionMode(javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
在選中此選項的 Windows 上,您可以:
- 選擇單行
- 通過按住滑鼠并拖動來選擇連續的行
- 通過單擊要選擇的第一行,按 shift 并單擊最后一行來選擇連續行
- 通過單擊一行并拖動然后按住 ctrl 并從另一行再次執行來選擇多組連續行
- 您可以按住 Ctrl 并單獨選擇不連續的行
在 Mac OS 上,您只能執行 1 和 2。我不關心 3 和 4,但我真的需要它們能夠選擇不連續的隨機行。
這是 #5 中描述的選擇行為的圖片,它在 Mac 上不起作用:

我使用標準的 JTable 簡單演示在 Windows 上生成了這個。你不能在 Mac 上這樣做。你可以在linux上。這是該演示的鏈接: docs.oracle.com/javase/tutorial/uiswing/components/table.html
這是一個已知問題還是有已知的解決方案?
uj5u.com熱心網友回復:
Windows Ctrl 鍵在功能上更接近 Mac 的 Command 鍵,而不是 Control 鍵,盡管 Java 將 Win 的 Ctrl 鍵和 Mac 的 Control 鍵識別為具有相同的 KeyEvent#getKeyCode() 值 17。
通過按住 Command 鍵而不是 Control 來選擇不連續的行對我有用。在配備 M1 芯片并運行 MacOS Monterey 12.0.1 的 MacBook Air 上進行測驗,使用 Azul Zulu 的 OpenJDK 版本 17.0.2 構建。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/429886.html
上一篇:防止重復帳戶,無限量的訊息
