diff --git a/Painter/src/bz/bronze/painter/Tick.java b/Painter/src/bz/bronze/painter/Tick.java index 4877bdd..9d9bd3c 100644 --- a/Painter/src/bz/bronze/painter/Tick.java +++ b/Painter/src/bz/bronze/painter/Tick.java @@ -2,6 +2,8 @@ package bz.bronze.painter; public class Tick implements Runnable { public Thread tick = new Thread(this); + long taskTime = 0; + long sleepTime = 1000/60; public Tick() { @@ -11,6 +13,8 @@ public class Tick implements Runnable { public void run() { while(Painter.isRunning) { + taskTime = System.currentTimeMillis(); + Window.opacitySliderLabel.setText("Opacity: " + Window.opacitySlider.getValue()); Window.sizeSliderLabel.setText("Size: " + Window.sizeSlider.getValue()); @@ -28,6 +32,15 @@ public class Tick implements Runnable { } Context.swapBuffers(Window.paintArea.getGraphics()); + + taskTime = System.currentTimeMillis()-taskTime; + if (sleepTime-taskTime > 0 ) { + try { + Thread.sleep(sleepTime-taskTime); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } } } } \ No newline at end of file