// @Override public void run() { try { keepRunning = true; boolean isRising = true; while (keepRunning) { Thread.sleep(10); // decrease or remove to speed up the refresh rate. phase++; if (sinAmp >= MAX_AMP_SEED) { isRising = false; } else if (sinAmp <= MIN_AMP_SEED) { isRising = true; } if (isRising) { sinAmp += AMP_STEP; } else { sinAmp -= AMP_STEP; } notifier.notifyObservers(); } } catch (InterruptedException e) { e.printStackTrace(); } }
public void setScale(double scale) { Rectangle visible = internal.getVisibleRect(); double factor = scale / this.scale; this.scale = Math.min(4, scale); redraw(); visible = new Rectangle( (int) (visible.x * factor), (int) (visible.y * factor), (int) (visible.width * factor), (int) (visible.height * factor)); internal.scrollRectToVisible(visible); observable.setChanged(); observable.notifyObservers(this); }
@Override public void notifyObservers() { observable.notifyObservers(); }