Oi Pessoal,
Pergunta rápida: Como definir a ação default para um ENTER em qualquer campo da tela?
(ie: o botão OK agir quando for pressionado o enter)
Valeu,
Oi Pessoal,
Pergunta rápida: Como definir a ação default para um ENTER em qualquer campo da tela?
(ie: o botão OK agir quando for pressionado o enter)
Valeu,
Basta colocar um input do tipo submit dentro do form html, que vc consegue isto.
[]s, Welington B. Souza
ehehehe a WEB tá forte mesmo agora ao inves de dizer que é web temos que especificar que não é. :shock:
O meu problema é em uma tela Swing
valeu
OK, smota.
Montei um exemplinho para vc. Segue abaixo o codigo:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class RecebeEnter extends JFrame {
// classe interna para fazer o tratamento
// da tecla pressionada
private class AcaoEnter extends AbstractAction {
public void actionPerformed(ActionEvent evt) {
aoPressionaBotaoOK(evt);
}
}
// codigo de tratamento do evento ao clicar o botao OK
// ou pressionar a tecla enter ...
protected void aoPressionaBotaoOK(ActionEvent evt) {
int resposta = JOptionPane.showConfirmDialog(null,
"Deseja salvar os dados e fechar esta janela",
"confirmação", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if (resposta == JOptionPane.YES_OPTION) {
// coloque aqui o seu codigo ...
System.exit(0);
}
}
public RecebeEnter() {
setTitle("Tratamento da tecla Enter");
setSize(300, 200);
// classe anononima para fechar a janela ...
addWindowListener(new WindowAdapter() {
public void windowClosing() {
System.exit(0);
}
});
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout());
// associo o evento de pressionar a tecla
// enter na acao anteriormente instanciada
AcaoEnter acaoEnter = new AcaoEnter();
panel.registerKeyboardAction(acaoEnter,
KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0),
JComponent.WHEN_IN_FOCUSED_WINDOW);
JLabel labelNome = new JLabel("Nome");
JTextField textNome = new JTextField();
GridLayout gridLayout = new GridLayout(6, 1);
gridLayout.setRows(6);
JPanel panelControls = new JPanel();
panelControls.setLayout(gridLayout);
panelControls.add(labelNome);
panelControls.add(textNome);
panel.add(panelControls, "Center");
JButton okButton = new JButton("OK");
// classe anonima para tratar o evento de clicar
// do botao OK ...
okButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
aoPressionaBotaoOK(e);
}
});
panel.add(okButton, "South");
Container contantPane = getContentPane();
contantPane.add(panel);
}
public static void main(String[] args) {
RecebeEnter frameRecebeEnter = new RecebeEnter();
frameRecebeEnter.show();
}
}
[]s, Welington B. Souza