Public void mouseReleased(MouseEvent me)
Public void mousePressed(MouseEvent me)
Public void mouseExited(MouseEvent me)
Public void mouseEntered(MouseEvent me)
Public void mouseClicked(MouseEvent me)
MouseListener имеет 5 методов, которые следует бработать.
Пример на SE для JPanel с изображениями:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Prog_5_1
{
JFrame form;
pictureBox pc; // панель для рисования
Prog_5_1()
{
form = new JFrame();
form.setSize (500,500);
form.setTitle ("лабораторная 5");
form.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
form.setLayout(null);
pc=new pictureBox();
pc.setBounds(0, 0, 300, 300);
form.add(pc);
form.show();
}
public static void main (String args[])
{
Prog_5_1 f;
f= new Prog_5_1();
}
}
class pictureBox extends JPanel
implements MouseListener // использование прослушивания мыши
{
int Regim;
int mouseX,mouseY; // координаты мыши
public static BufferedImage im;
pictureBox ()
{
mouseX=0;
mouseY=0;
Regim=0;
addMouseListener(this); // подключение прослушивания мыши
try
{
im = ImageIO.read(new File("face1.jpg"));
}
catch (IOException e)
{
}
}
public void paintComponent(Graphics g)
{
Graphics2D g2 = im.createGraphics();
g.drawImage(im, 0, 0, null);
if(Regim==1) // после события от мыши!
{
Color c;
c=new Color(220,0,250);
g.setColor(c);
g.drawOval(mouseX,mouseY,40, 40);
}
repaint();
}
// 5 событий от мыши
{
}
{
}
{
}
{
}
{
mouseX=me.getX(); // координаты курсора мыши
mouseY=me.getY();
Regim=1;
repaint();
}
}
MouseMotionListener имеет 2 метода: mouseDragged (MouseEvent me) и