1
0

Change inner class DrawingThread with Thread field

This commit is contained in:
Victor 2014-03-28 17:24:35 +02:00
parent dadbe3b770
commit fc711260d9

View File

@ -19,7 +19,7 @@ public abstract class DoubleBufferedCanvas extends Canvas implements MouseListen
private final Graphics2D G; private final Graphics2D G;
private final BufferedImage buffer; private final BufferedImage buffer;
private final DrawingThread thread; private final Thread thread;
public DoubleBufferedCanvas() { public DoubleBufferedCanvas() {
setSize(Constants.WIDTH, Constants.HEIGHT); setSize(Constants.WIDTH, Constants.HEIGHT);
@ -31,7 +31,7 @@ public abstract class DoubleBufferedCanvas extends Canvas implements MouseListen
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 Thread(this::redraw);
thread.start(); thread.start();
} }
@ -102,18 +102,12 @@ public abstract class DoubleBufferedCanvas extends Canvas implements MouseListen
public void keyReleased(KeyEvent e) { public void keyReleased(KeyEvent e) {
} }
private final class DrawingThread extends Thread { private void redraw() {
while (true) {
private boolean keepRunning = true;
@Override
public void run() {
while (keepRunning) {
try { try {
sleep(25); Thread.sleep(25);
} catch (InterruptedException ex) {} } catch (InterruptedException ex) {}
repaint(); repaint();
} }
} }
} }
}