2013-05-01 3 views
0

Я просто хочу, чтобы цвет менялся обратно на белый, когда я снова нажимаю кнопку;Изменить цвет JTextField с помощью ActionListner

Это код, который должен изменить его при первом щелчке;

private void colourButton() 
{ 
    inputField.setBackground(Color.WHITE); 
} 

// listener method 
public void actionPerformed(ActionEvent e) 
{ 
    inputField.setBackground(Color.RED); 
    resultMessage.setText("Colour Button Pressed"); 
} 

Теперь я просто хочу, чтобы его можно было снова щелкнуть, цвет элемента ввода должен вернуться к белому.

ответ

1
if(inputField.getBackground() == Color.RED) 
{ 
inputField.setBackground(Color.WHITE); 
} 
else 
{ 
inputField.setBackground(Color.RED); 
} 
0

Пока у вас есть код, чтобы изменить цвет текстового поля при нажатии на кнопку, так что кажется, что все, что вам теперь нужно добавить условный оператор, чтобы решить, какой цвет, чтобы изменить его на основе на что он уже есть.

public void actionPerformed(ActionEvent e) 
{ 
    if (inputField.getBackground() == Color.WHITE) { 
     inputField.setBackground(Color.RED); 
    } else { 
     inputField.setBackground(Color.WHITE); 
    } 
    resultMessage.setText("Colour Button Pressed"); 
} 

Вы также можете захотеть взглянуть на выполнение фактического изменения цвета в GUI потоке, используя что-то вроде invokeLater. This question имеет дополнительную информацию об этом.

Смежные вопросы