У меня этот 2D JButton
массив (цвет белый), и я хочу сделать, когда я нажимаю на квадрат, он превратится в оранжевый. Когда я нажимаю другой квадрат, этот квадрат становится оранжевым, но первый квадрат, который я нажал, вернется к его нормальному белому цвету. Как мне это сделать, если все квадраты не превратятся в апельсин?2D Button Array ActionListener, изменение цвета?
Вот визуализация:
Btw, когда я нажимаю на квадраты с цифрами, их цвета не меняются, думать о них, как, как setEnabled(false)
кнопок. Я уже знаю, как менять цвета кнопок, я просто хочу знать, как цвет передается по квадрату после квадрата.
Спасибо всем, кто может помочь!
Редактировать: Моя «попытка», но она делает все моизначными кнопками оранжевого цвета.
button[i][j].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
for(int i = 0; i < button.length; i++)
for(int j = 0; j < button.length; j++){
if(g.gameBoard[i][j] == null){
//must find the position where the user clicks and make it orange
button[i][j].setBackground(Color.ORANGE);
}
}
}
});
[Что вы пробовали] (http://mattgemmell.com/2008/12/08/what-have-you-tried/)? И где именно вы застряли? Тем не менее, для моих денег, если кнопки не имеют собственного «действия», кроме поворота цветов, я бы использовал JLabels и MouseListener, но вам нужно было бы запомнить, чтобы непрозрачное свойство JLabel было true, чтобы они рисовали их цвет фона. –
вы можете использовать массивы JToggleButtons, для лучшей помощи скорее отредактируйте свое сообщение с помощью [SSCCE] (http://sscce.org/) – mKorbel
@HovercraftFullOfEels Я попытался создать, например, JButton в своем actionListener: 'ae.getSource() instanceof JButton', но при этом все мои кнопки становятся оранжевыми, когда я их нажимаю. – alicedimarco