only left click draw
This commit is contained in:
1 parent
e5373f43b0
commit
87ea8c0c63
1 file changed
+11
-6
@@ -17,16 +17,15 @@ public class DrawingBoard extends JPanel {
|
|||||||
private static final int STEP = 100;
|
private static final int STEP = 100;
|
||||||
private static final int DEFAULT_SIZE = STEP * 5;
|
private static final int DEFAULT_SIZE = STEP * 5;
|
||||||
|
|
||||||
private final MouseListener listener;
|
|
||||||
private byte[] data = new byte[DEFAULT_SIZE];
|
private byte[] data = new byte[DEFAULT_SIZE];
|
||||||
private int lastEditedSize = DEFAULT_SIZE;
|
private int lastEditedSize = DEFAULT_SIZE;
|
||||||
|
|
||||||
private boolean down = false;
|
private boolean drawing = false;
|
||||||
private Point lastPos;
|
private Point lastPos;
|
||||||
|
|
||||||
public DrawingBoard() {
|
public DrawingBoard() {
|
||||||
listener = new MouseListener();
|
|
||||||
setBackground(Color.black);
|
setBackground(Color.black);
|
||||||
|
MouseListener listener = new MouseListener();
|
||||||
addMouseListener(listener);
|
addMouseListener(listener);
|
||||||
addMouseMotionListener(listener);
|
addMouseMotionListener(listener);
|
||||||
addComponentListener(new ComponentAdapter() {
|
addComponentListener(new ComponentAdapter() {
|
||||||
@@ -83,7 +82,9 @@ public class DrawingBoard extends JPanel {
|
|||||||
private class MouseListener extends MouseAdapter {
|
private class MouseListener extends MouseAdapter {
|
||||||
@Override
|
@Override
|
||||||
public void mousePressed(MouseEvent e) {
|
public void mousePressed(MouseEvent e) {
|
||||||
down = true;
|
if (e.getButton() != MouseEvent.BUTTON1)
|
||||||
|
return;
|
||||||
|
drawing = true;
|
||||||
lastPos = e.getPoint();
|
lastPos = e.getPoint();
|
||||||
firePaint(e.getPoint());
|
firePaint(e.getPoint());
|
||||||
e.consume();
|
e.consume();
|
||||||
@@ -91,20 +92,24 @@ public class DrawingBoard extends JPanel {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mouseReleased(MouseEvent e) {
|
public void mouseReleased(MouseEvent e) {
|
||||||
|
if (e.getButton() != MouseEvent.BUTTON1)
|
||||||
|
return;
|
||||||
firePaint(e.getPoint());
|
firePaint(e.getPoint());
|
||||||
down = false;
|
drawing = false;
|
||||||
lastPos = null;
|
lastPos = null;
|
||||||
e.consume();
|
e.consume();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mouseDragged(MouseEvent e) {
|
public void mouseDragged(MouseEvent e) {
|
||||||
|
if (!drawing)
|
||||||
|
return;
|
||||||
firePaint(e.getPoint());
|
firePaint(e.getPoint());
|
||||||
e.consume();
|
e.consume();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void firePaint(Point pos) {
|
private void firePaint(Point pos) {
|
||||||
if (!down)
|
if (!drawing)
|
||||||
return;
|
return;
|
||||||
lastEditedSize = data.length;
|
lastEditedSize = data.length;
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user