Add mouse listeners
This commit is contained in:
parent
3bafead19f
commit
8e7020171e
@ -3,13 +3,16 @@ package com.annimon.turrets;
|
|||||||
import java.awt.Canvas;
|
import java.awt.Canvas;
|
||||||
import java.awt.Graphics;
|
import java.awt.Graphics;
|
||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
|
import java.awt.event.MouseListener;
|
||||||
|
import java.awt.event.MouseMotionListener;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @author aNNiMON
|
* @author aNNiMON
|
||||||
*/
|
*/
|
||||||
public abstract class DoubleBufferedCanvas extends Canvas {
|
public abstract class DoubleBufferedCanvas extends Canvas implements MouseListener, MouseMotionListener {
|
||||||
|
|
||||||
private final Graphics2D G;
|
private final Graphics2D G;
|
||||||
private final BufferedImage buffer;
|
private final BufferedImage buffer;
|
||||||
@ -19,6 +22,9 @@ public abstract class DoubleBufferedCanvas extends Canvas {
|
|||||||
setSize(Constants.WIDTH, Constants.HEIGHT);
|
setSize(Constants.WIDTH, Constants.HEIGHT);
|
||||||
setPreferredSize(Constants.SCREEN_DIMENSION);
|
setPreferredSize(Constants.SCREEN_DIMENSION);
|
||||||
|
|
||||||
|
addMouseListener(DoubleBufferedCanvas.this);
|
||||||
|
addMouseMotionListener(DoubleBufferedCanvas.this);
|
||||||
|
|
||||||
buffer = new BufferedImage(Constants.WIDTH, Constants.HEIGHT, BufferedImage.TYPE_INT_RGB);
|
buffer = new BufferedImage(Constants.WIDTH, Constants.HEIGHT, BufferedImage.TYPE_INT_RGB);
|
||||||
G = buffer.createGraphics();
|
G = buffer.createGraphics();
|
||||||
thread = new DrawingThread();
|
thread = new DrawingThread();
|
||||||
@ -48,6 +54,43 @@ public abstract class DoubleBufferedCanvas extends Canvas {
|
|||||||
|
|
||||||
protected abstract void update();
|
protected abstract void update();
|
||||||
|
|
||||||
|
protected abstract void mousePressed(int x, int y);
|
||||||
|
|
||||||
|
protected abstract void mouseReleased(int x, int y);
|
||||||
|
|
||||||
|
protected abstract void mouseDragged(int x, int y);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mousePressed(MouseEvent e) {
|
||||||
|
mousePressed(e.getX(), e.getY());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mouseReleased(MouseEvent e) {
|
||||||
|
mouseReleased(e.getX(), e.getY());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mouseEntered(MouseEvent e) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mouseExited(MouseEvent e) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mouseDragged(MouseEvent e) {
|
||||||
|
mouseDragged(e.getX(), e.getY());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mouseMoved(MouseEvent e) {
|
||||||
|
}
|
||||||
|
|
||||||
private final class DrawingThread extends Thread {
|
private final class DrawingThread extends Thread {
|
||||||
|
|
||||||
private boolean keepRunning = true;
|
private boolean keepRunning = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user