Galera é o seguinte,estou fazendo um programinha em Java Swing,que tem a função de cadastrar produtos em uma tabela,que futuramente vou vincular com o banco de dados ,mas o que eu quero fazer é o seguinte,assim que a pessoa entrar com os dados não precise com o mouse clicar no botão de adicionar e sim apertar enter a cada cadastro,para agilizar o cadastro,quem poder me ajudar,obrigado
Usar um botão ao pressionar a tecla enter,sem ter que clicar no botao
5 Respostas
O Metodo teclasAtalho() deve ser chamado no construtor da classe para que seu funcionamento ocorra.
public void teclasAtalho() {
rootPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "ENTER");
rootPane.getRootPane().getActionMap().put("ENTER", new AbstractAction("ENTER") {
@Override
public void actionPerformed(ActionEvent e) {
botaoDoEventoDesejado.doClick();//Aqui é onde ocorre o evento simulando o click do botão através da tecla ENTER
// Mas o indicado é você criar um método para realizar essa tarefa e chama-lo onde for necessário.
}
});
}
deixa eu ver se eu entendi,então eu tenho que criar uma class e nela criar o método construtor e dentro dele criar um método com essas funções?
Acho que você está meio perdido…
Você já deve possuir essa classe criada, a qual você citou que tem a função de cadastrar os produtos certo?
Dentro desta sua classe você já tem o método construtor, basta colocar dentro desta mesma classe o método que te passei acima, feito isso você chama o método dentro do construtor da classe.
public class minhaView extends javax.swing.JFrame { //Esta é sua classe (view)
public minhaView() {//Este é o construtor da sua classe (view)
initComponents();
teclasAtalho();//Chamando o Método de teclas de atalho no construtor
}
//Demais métodos e implementações da classe
public void teclasAtalho() {//Método criado dentro da sua classe (view)
rootPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "ENTER");
rootPane.getRootPane().getActionMap().put("ENTER", new AbstractAction("ENTER") {
@Override
public void actionPerformed(ActionEvent e) {
botaoDoEventoDesejado.doClick();//Aqui é onde ocorre o evento simulando o click do botão através da tecla ENTER
// Mas o indicado é você criar um método para realizar essa tarefa e chama-lo onde for necessário.
}
});
}
}
Muito obrigado Jonathan,consegui fazer funcionar aqui,estou começando em java,tenho uns 2 meses que estou mexendo todos os dias,fiz um curso de java básico e aprendi muita coisa no netbeans,e agora que conheci esse fórum vou expandir mais meus conhecimentos,obrigado pela ajuda,valeu
De nada, a galera é bem receptiva em relação a dúvidas, bons estudos!
Quando postar alguma dúvida sua, assim que conseguir resolver finalize o tópico marcando uma resposta como correta.