Salve a tutti,
ho creato un programma in Java che crea esattamente tre JLabel e tre JCheckBox.
Quando la JCheckBox è selezionata, la JLabel della corrispondente casella deve cambiare il nome da "DESELEZIONATA" a "SELEZIONATA" e viceversa, quando la JCheckBox è deselezionata, la JLabel della corrispondente casella deve cambiare il nome da "SELEZIONATA" a "DESELEZIONATA".
Pubblico la classe:
Ovviamente la label1 si chiama "1", la label2 si chiama "2" e la label 3 si chiama "3".
Il problema è che le label non cambiano il nome.
Grazie.
codice:
private class AzionaBottone implements ItemListener
{
public void itemStateChanged(ItemEvent e)
{
int stato = e.getStateChange();
JCheckBox bottone = (JCheckBox) e.getSource();
if((stato == ItemEvent.SELECTED) && (bottone.getText().equals("1")))
{
System.out.println("1");
label1.setText("Selezionato");
}
else if((stato == ItemEvent.DESELECTED) && (bottone.getText().equals("1")))
{
label1.setText("Deselezionato");
}
else if((stato == ItemEvent.SELECTED) && (bottone.getText().equals("2")))
{
label2.setText("Selezionato");
}
else if((stato == ItemEvent.DESELECTED) && (bottone.getText().equals("2")))
{
label2.setText("Deselezionato");
}
else if((stato == ItemEvent.SELECTED) && (bottone.getText().equals("3")))
{
label3.setText("Selezionato");
}
else if((stato == ItemEvent.DESELECTED) && (bottone.getText().equals("3")))
{
label3.setText("Deselezionato");
}
}
}