Есть ли способ использовать Nimbus LAF (Look And Feel) в OS X, сохраняя при этом возможность использовать клавишу Meta для операций вырезания / копирования / вставки и выделения всего?
В настоящее время у меня есть следующий код в основном методе моего приложения Swing, который изменяет LAF в зависимости от операционной системы (по умолчанию для OS X, Nimbus для всех остальных):
if (!System.getProperty("os.name", "").startsWith("Mac OS X")) {
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(LicenseInspectorUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(LicenseInspectorUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(LicenseInspectorUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(LicenseInspectorUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
}
Я делаю это как обходной путь, потому что Nimbus переопределяет сочетания клавиш для вырезания / копирования / вставки и выбора всего в OS X (клавиша Meta вместо клавиши Ctrl). Я бы предпочел использовать Nimbus все время, если бы только сочетания клавиш не были отменены.