copiar atalhos de colar e trabalhar apenas com a tecla Ctrl no aplicativo Java OSX
Criei um pequeno aplicativo usando o Netbeans 8.1 no OSX, executando estas etapas:
Criei um novo JForm usando a categoria "Swing GUI forms"Adicionei três menus a ele:Adicionei um JDialog com campos de texto e o vinculei ao terceiro menu ("TAnalyse").Neste JDialog eu preciso copiar / colar a funcionalidade para os campos de texto. O problema é: copiar / colar funciona apenas nesta caixa de diálogo com "ctrl" + "c", "x" ou "v" e não com a tecla "cmd" padrão do osx.
Tentei adicionar a seguinte linha de código ao construtor do JForm, mas não funcionou:
KeyStroke stroke = KeyStroke.getKeyStroke(KeyEvent.VK_C, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask());
Informações adicionais: Estou usando o JDK7 e o OSX Yosemite. Aparência é "Nimbus". Os outros dois menus ("Arquivo", "Editar") ainda não foram implementados.
Você pode dar uma dica para uma solução?
Atualizar: Criei outro pequeno exemplo com o construtor Netbeans GUI (Swing GUI Forms -> JDialog). Acabei de adicionar uma barra de menus ao JFrame e a um JMenuItem no construtor GUI. Com as observações da resposta abaixo, adicionei manualmente algum código ao construtor:
public NewJDialogGUI(java.awt.Frame parent, boolean modal) {
super(parent, modal);
initComponents();
AbstractAction copyAction = new DefaultEditorKit.CopyAction();
copyAction.putValue(Action.ACCELERATOR_KEY,KeyStroke.getKeyStroke(KeyEvent.VK_C, MASK));
this.jMenuItem1.setAction(copyAction);
this.jMenuItem1.setText("Copy");
this.jMenuItem1.setMnemonic(KeyEvent.VK_C);
}
O resultado é:
Update2: Criei outro pequeno exemplo com o construtor Netbeans GUI (Swing GUI Forms -> Application sample form).
O resultado é:
Finalmente, criei um exemplo com o Netbeans (arquivo Java vazio) com o código-fonte ligeiramente modificado a partir da resposta abaixo.
O resultado é: