Aí gurizada, o código abaixo é do teste que estou fazendo com um combo box, o esquema é o seguinte quero que quando o usuário der enter dentro do combo dispare um método, nesse teste fiz um método simples que apenas pega o que tá no combo e mostra na tela, o que tá acontecendo é muito estranho, a primeira vez que dou enter ele executa o método duas vezes, aí nas próximas apenas uma, se eu escrever algo no combo e depois der enter na primeira vez ele executa duas vezes e nas próximas apenas uma, aí se eu alterar o combo de novo, ele na primeira executa o método 2 vezes e depois apenas uma, tá meio confuso mas se vcs executarem o código vão ver o que estou tentando explicar, por que será que acontece isso ??
import java.awt.<em>;
import java.awt.event.</em>;
import javax.swing.*;
public class TesteCombo extends JFrame {
private JComboBox CMBteste;
public TesteCombo() {
try {
mostra();
} catch(Exception ex) {
ex.printStackTrace();
}
}
private void mostra() throws Exception {
this.getContentPane().setLayout(null);
this.getContentPane().setBackground(new Color(204, 204, 204));
this.setSize(336, 230);
this.setLocation(343, 207);
this.setTitle("Teste Combo");
this.setResizable(false);
CMBteste = new JComboBox();
CMBteste.setBounds(new Rectangle(70, 35, 150, 20));
CMBteste.setEditable(true);
this.getContentPane().add(CMBteste, null);
CMBteste.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e) {
MostraConteudoCombo();
}
});
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
aoFechar();
}
});
}
private void MostraConteudoCombo() {
System.out.println(CMBteste.getSelectedItem());
}
private void aoFechar() {
System.exit(0);
}
public static void main(String args[]) {
new TesteCombo().show();
}
}
