У меня есть двумерный массив кнопок J, которые я хотел бы, чтобы пользователь мог рисовать линии при щелчке мыши. Сетка кнопок Изображение
В настоящее время, когда пользователь нажимает указанную кнопку c J в сетке, он становится красным. Я хочу иметь возможность удерживать нажатой левую кнопку мыши и наводить курсор на кнопки, которые я хочу покраснеть. Вот что у меня есть
for (int i = 0; i < 40; i++) {
for (int j = 0; j < 40; j++) {
if (grid[i][j] != grid[0][0] && grid[i][j] != grid[39][39]) {
grid[i][j].addMouseListener(new java.awt.event.MouseAdapter(){
@Override
public void mousePressed(java.awt.event.MouseEvent evt) {
JButton button = (JButton) evt.getSource();
button.setBackground(Color.red);
paintedButtons.add(button);
button.transferFocus();
paintedButtons.add(button);
}
// public void mouseEntered(MouseEvent evt) {
// JButton button = (JButton) evt.getSource();
// button.setBackground(Color.red);
//
// paintedButtons.add(button);
//
// }
});
}
grid[0][0].setBackground(Color.GRAY);
grid[39][39].setBackground(Color.GREEN);
}
}
Метод mouseEntered почти делает то, что я хочу. Проблема в том, что я хочу, чтобы это происходило только тогда, когда я нажимаю левую кнопку мыши. Спасибо.