emmanuel.silva 24 de ago. de 2006
Para exeuctar um evento de um botão sem precisar que o usuario clique pode utilizar o metodo doClick() no JButton:
MyButton.doClick();
Valeu.
petter 25 de ago. de 2006
Valeu cara, tá funcionando beleza.
Só um detalhe, para um F9 eu faço como no exemplo que postei e para simular um CTRL + Q. Como seria?
emmanuel.silva 25 de ago. de 2006
Vc verifica o modificar do evento, assim vc pode verificar se o usuario pressionou o ALT + alguma tecla ou CTRL + alguma tecla , etc…
tenta assim:
if(KeyEvent.getKeyText(evt.getKeyCode()) == “F9” && evt.getKeyModifiersText() == KeyEvent.SHIFT_MASK ){
petter 25 de ago. de 2006
Cara tá dando um erro:
getKeyModifiersText ( int ) cannot be applied to ()
Travei… :lol:
emmanuel.silva 25 de ago. de 2006
Post o codigo ai para eu ver o que esta acontecendo
emmanuel.silva 25 de ago. de 2006
Vc pode fazer o seguinte
vc pode mapear essa tecla de atalho no seu frame, fazendo com que em qualquer lugar do frame quando o usuario por exemplo clicar CTRL + Q :
KeyStroke ksSalvar = KeyStroke . getKeyStroke ( KeyEvent . VK_Q , KeyEvent . SHIFT_MASK , true );
getRootPane (). getInputMap ( JComponent . WHEN_ANCESTOR_OF_FOCUSED_COMPONENT ). put ( ksSalvar , “ SalvarAction ” );
getRootPane (). getActionMap (). put ( “ SalvarAction ” , new AbstractAction () {
private static final long serialVersionUID = - 4928658259483500995L ;
public void actionPerformed ( ActionEvent ae ) {
//codifique aqui
}
});
Se vc não quiser nemhum modificar por exemplo só a tecla q, vc cria o KeyStroke e no lugar do KeyEvent.SHIFT_MASK vc coloca 0
então quando vc iniciar o frame e todos os objetos na tela chame esse trecho de código blz…
petter 25 de ago. de 2006
Cara fiz o exemplo que vc falou e ele só funciona na combinação SHIFT + Q, quando eu teclo CRTL + Q não acionada nada.
Tentei no código mudar para CTRL mas tem consegui. Tem como isso ser feito?
emmanuel.silva 25 de ago. de 2006
Cara, tenta assim troquei a linha JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
para JComponent.WHEN_IN_FOCUSED_WINDOW
ou seja quando a janela estiver em focus vai funcionar, agora acho que vai, testei
aqui tanto com o SHIFT quanto o CTRL.
agora eu acho que vai :lol:
KeyStroke ksSalvar = KeyStroke . getKeyStroke ( KeyEvent . VK_Q , KeyEvent . CTRL_MASK , true );
getRootPane (). getInputMap ( JComponent . WHEN_IN_FOCUSED_WINDOW ). put ( ksSalvar , “ SalvarAction ” );
getRootPane (). getActionMap (). put ( “ SalvarAction ” , new AbstractAction () {
private static final long serialVersionUID = - 4928658259483500995L ;
public void actionPerformed ( ActionEvent ae ) {
JOptionPane . showMessageDialog ( null , “ Teste ” );
}
});
petter 25 de ago. de 2006
Valeu cara. Agora funcionou legal.
petter 25 de ago. de 2006
Tinha pintado outra duvida aqui mas já resolvi.
Valeu.
emmanuel.silva 25 de ago. de 2006
blz cara, qualquer duvida é só postar