Hola una duda,
Deseo ejecutar una accion cuando seleccione un item de un JcomboBox, el se que el Jcombobox esta compuesto por diferentes componenentes como JtextField, Jlist, etc. Y por ende manipular el evento del click es dificil.
Pero cuento con el sig. codigo que ya lo hace, PERO solamente ejecuta la accion cuando doy click en el JcomboBox, si selecciono el Item tengo que volver a dar un click sobre el JcomboBox para que ahora si ejecute lo que seleccione.
Mi codigo es:
Código PHP:
Component[] comps = comboBox.getComponents();
for(int i = 0; i < comps.length; i++)
{
comps[i].addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent me) {
System.out.println("clicked");
}
});
}
Otra opcion seria:
Código PHP:
miComboBox.getEditor().getEditorComponent().addMouseListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
public void mouseClicked(java.awt.event.MouseEvent evt) {
System.out.println("clicked");
}
public void mouseEntered(java.awt.event.MouseEvent evt) { System.out.println("Entered JComboBox"); }
}
});
Pero es lo mismo, se ejecuta cuando paso el mouse sobre el jcombobox, solamente y no HASTA cuando selecciono un item :S
Alguien sabe como puedo resolver esto?
Si solamente ingreso el actionListener, si funcionaria con el click seleccionado el item, pero el problema es que al ejecutar cualquier proceso todo el tiempo pasa por ese actionListener y todo el tiempo se ejecuta la accion
Código PHP:
masiveSelectOptCbx.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Click");
}
});
Por ello complemento de la sig. manera:
Código PHP:
masiveSelectOptCbx.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
Component[] comps = comboBox.getComponents();
for(int i = 0; i < comps.length; i++)
{
comps[i].addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent me) {
System.out.println("clicked");
}
});
}
}
});
El problema es lo que les mencionaba al inicio con el click :S
Alguien me podria dar una idea?, gracias amigos!