Я хочу, чтобы мои кнопки меняли цвет, когда на них (при наведении курсора мыши), когда они нажаты (активны), и оставайтесь в этом положении, пока пользователь не выберет другие параметры. Так что один из них будет всегда выбран.
У меня есть три кнопки - с криклом, квадратом и треугольником. Мой код:
private static MouseListener ButtonMouseListener = new MouseAdapter () {
public void mouseEntered(MouseEvent evt) {
Component source = evt.getComponent();
source.setBackground(new Color(91, 90, 90));
}
public void mouseExited(MouseEvent evt) {
Component source = evt.getComponent();
source.setBackground(new Color(64, 64, 64));
}
public void mousePressed(MouseEvent evt) {
Component source = evt.getComponent();
source.setBackground(new Color(46, 46, 46));
}
};
Поэтому я хочу, чтобы кнопки меняли цвет при наведении на них (mouseEntered)
и снова меняли цвет на стандартный, когда кто-то перестает зависать (вот почему у меня mouseExited
). Следующее, что я хочу, чтобы они меняли цвет, когда они выбраны, поэтому mousePressed
. Проблема в том, что когда я перемещаю курсор за пределы кнопки, он меняется на другой цвет из-за mouseExited
, и я этого не хочу. Он должен оставаться в нажатом цвете, пока пользователь не выберет другую из трех кнопок. Я понятия не имею, как этого добиться, я пробовал разные варианты, но ничего не получается так, как я хочу.