Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/04/2012, 19:19
amadeo123
 
Fecha de Ingreso: diciembre-2011
Mensajes: 134
Antigüedad: 13 años
Puntos: 5
Problema con un metodo del combo en swt de java.

Hola, estoy haciendo un pequeño programa y mi problema es el siguiente.

Yo creo 2 combos con 3 selecciones de futbol en cada uno, la selecciones son las mismas en cada caso y la idea es emparejar estas selecciones (seleccionando una de cada combo) pero si selecciono la de un combo, debe desaparecer del otro. Me explico.

Yo tengo Francia, España y Brasil. Si cojo España del combo 1, automáticamente desaparecerá de la elección en el combo 2.

Cita:
combo1 = new Combo(shell, SWT.READ_ONLY);
combo1.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {

if (combo1.getSelectionIndex()==0)
{
lblEquipo1.setText("España");
combo2.setItems(new String[] { "Francia","Brasil"});
}


if (combo1.getSelectionIndex()==1)
{
lblEquipo1.setText("Francia");
combo2.setItems(new String[] {"Espa\u00F1a", "Brasil"});
}

if (combo1.getSelectionIndex()==2)
{
lblEquipo1.setText("Brasil");
combo2.setItems(new String[] {"Espa\u00F1a", "Francia"});
}



}
});
combo1.setItems(new String[] {"Espa\u00F1a", "Francia", "Brasil"});
combo1.setToolTipText("");
combo1.setBounds(10, 100, 91, 23);
Esto no funciona por una razón:

if (combo1.getSelectionIndex()==0)

aquí le digo que haga la accion si combo1 tiene el indice 0, que en mi caso seria españa, el problema es que si hago desaparecer a españa, francia pasaria a ser el indice 0 y brasil el 1, por lo que se crean conflictos que hacen que funcione mal.

La única solución que se me ocurre es usar un método que obtenga el elemento, la string, en este caso España. ok .

Yo he estado mirado y creo que ese metodo es el siguiente.

Cita:
String getText()
Returns a string containing a copy of the contents of the receiver's text field, or
an empty string if there are no contents.

pero no puedo hacer que funcione. trabajo con el asi:

if (combo1.getText()=="España")


y no me da error ni nada por el estilo, pero no funciona.

Alguna idea ?