preciso fazer algumas combinaçoes de atalhos no meu formulario…por exemplo quando der um crl+N aperta o botao Novo…mas o problema é que só consigo colocar uma tecla de atalho sem a combinaçao…no maximo funciona com o ALT + Tecla
como faço para criar esses atalhos com combinação de teclas??
OK… essa sequência de atalhos pode ser feita por um Action. Veja um exemplo:
// supondo que neu botão se chame botaoNovo
botaoNovo = new JButton();
botaoNovo.setText("Novo");
botaoNovo.setAction(getNovoAction());
// ..... use o método:
private AbstractAction getNovoAction() {
AbstractAction novoAction = new AbstractAction("Novo", null) {
private static final long serialVersionUID = 1L;
@Override
public void actionPerformed(final ActionEvent evt) {
// fazer algo aqui!!!
}
};
novoAction.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke("")); // TODO esse é o atalho!!!
return novoAction;
}
estou tendo problema em nao axar o action.ACELERATOR_KEY
meu código ficou assim para a combinação CRTL + N
novoAction.putValue(Action.ACELERATOR_KEY, KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_N, java.awt.event.InputEvent.CTRL_MASK)); // TODO esse é o atalho!!!
[quote=furacao123]me explica melhor esse metodo putValue???
estou tendo problema em nao axar o action.ACELERATOR_KEY
meu código ficou assim para a combinação CRTL + N
novoAction.putValue(Action.ACELERATOR_KEY, KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_N, java.awt.event.InputEvent.CTRL_MASK)); // TODO esse é o atalho!!!
[/quote]
O putValue insere uma determinada característica a um Action. No caso, a característica é Action.ACELERATOR_KEY (certifique-se de importar a interface javax.swing.Action!!!) e o valor dessa caracterítica é o KeyStroke que nada mais é que um atalho do teclado. Será que deu pra entender?