Galera, ocorreu um probleminha aqui quando eu adicionei em um mesmo combobox 2 eventos ItemListener com implementações diferentes
o que ocorre é o seguinte… eu criei um combobox personalizado que ja possui o evento adicionado e ele exibe uma mesagem na tela “metodo1”
quando eu uso o componente eu adicionei um outro evento ItemListener exibindo a mensagem “metodo2”
e como esse metodo foi o ultimo a ser adicionado ele deveria ser o ultimo a ser executado quando um item fosse selecionado…
só que ele exibe primeiro o “metodo2” e depois o “metodo1”
preciso que ele execute o metodo1 primeiro… =0
Help pls…
Código do componente:
public class MeuComboBox extends JComboBox {
public MeuComboBox() {
initialize();
}
private void initialize() {
this.addItemListener(metodo1());
}
private ItemListener metodo1() {
return new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.DESELECTED)
System.out.println("metodo1");
}
};
}
}
Codigo da execucao
public class Main {
/**
*
* @param args
*/
public static void main(String[] args){
MeuComboBox combobox = new MeuComboBox();
combobox.addItem("A");
combobox.addItem("B");
combobox.addItem("C");
combobox.addItem("D");
combobox.addItemListener(metodo2());
combobox.setSelectedIndex(1);
}
private static ItemListener metodo2() {
return new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.DESELECTED)
System.out.println("metodo2");
}
};
}
}