Задать вопрос
@arramaga

Как определить событие наведения курсора на картинку?

Начал изучать Java. Делал шашки и столкнулся с проблемой.
f7b70361dcce4466aeb560776b8ab899
Сейчас все поля и шашки добавлены обычными картинками: Image img1 = new ImageIcon("res/pole1.jpg").getImage();

Как мне проверить, наведен ли курсор на определенную картинку и нажата ли клавиша?
  • Вопрос задан
  • 235 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@arramaga Автор вопроса
Сейчас вот так выглядит мой супер код. Что нужно исправить?
package checkers;

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JPanel;

public class Pole extends JPanel {
Image img1 = new ImageIcon("res/pole1.jpg").getImage();
Image img2 = new ImageIcon("res/pole2.jpg").getImage();
Image img3 = new ImageIcon("res/s1.png").getImage();
Image img4 = new ImageIcon("res/s2.png").getImage();
Image img5 = new ImageIcon("res/select.png").getImage();

public void paint(Graphics g){
g = (Graphics2D) g;
int x = 0, y=0;
int x1 = 5, y1=5;
int x2 = 105, y2=705;
for(int z=0; z<4; z++){

g.drawImage(img1, x, y, null);
x = x+100;
g.drawImage(img2, x, y, null);
x = x+100;
}
y = y+100;
x = 0;
for(int z=0; z<4; z++){

g.drawImage(img2, x, y, null);
x = x+100;
g.drawImage(img1, x, y, null);
x = x+100;
}
y = y+100;
x = 0;
for(int z=0; z<4; z++){

g.drawImage(img1, x, y, null);
x = x+100;
g.drawImage(img2, x, y, null);
x = x+100;
}
y = y+100;
x = 0;
for(int z=0; z<4; z++){

g.drawImage(img2, x, y, null);
x = x+100;
g.drawImage(img1, x, y, null);
x = x+100;
}
y = y+100;
x = 0;
for(int z=0; z<4; z++){

g.drawImage(img1, x, y, null);
x = x+100;
g.drawImage(img2, x, y, null);
x = x+100;
}
y = y+100;
x = 0;
for(int z=0; z<4; z++){

g.drawImage(img2, x, y, null);
x = x+100;
g.drawImage(img1, x, y, null);
x = x+100;
}
y = y+100;
x = 0;
for(int z=0; z<4; z++){

g.drawImage(img1, x, y, null);
x = x+100;
g.drawImage(img2, x, y, null);
x = x+100;
}
y = y+100;
x = 0;
for(int z=0; z<4; z++){

g.drawImage(img2, x, y, null);
x = x+100;
g.drawImage(img1, x, y, null);
x = x+100;
}
for(int z=0; z<4; z++){
g.drawImage(img3, x1, y1, null);
x1=x1+200;
}
x1=105;
y1=105;
for(int z=0; z<4; z++){
g.drawImage(img3, x1, y1, null);
x1=x1+200;
}
x1=5;
y1=205;
for(int z=0; z<4; z++){
g.drawImage(img3, x1, y1, null);
x1=x1+200;
}
for(int z=0; z<4; z++){
g.drawImage(img4, x2, y2, null);
x2=x2+200;
}
x2=5;
y2=605;
for(int z=0; z<4; z++){
g.drawImage(img4, x2, y2, null);
x2=x2+200;
}
x2=105;
y2=505;
for(int z=0; z<4; z++){
g.drawImage(img4, x2, y2, null);
x2=x2+200;
}
}
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы