package jmslexamples; import java.awt.*; import com.softsynth.jmsl.*; /** * TextJob.java * * A MusicJob subclass that has a drawing canvas on which it can draw * messages. For testing scheduling without having to * hear anything. * * @author Phil Burk and Nick Didkovsky */ /* * (C) 1997 Phil Burk and Nick Didkovsky, All Rights Reserved * JMSL is based upon HMSL (C) Phil Burk, Larry Polansky and David Rosenboom. */ public class TextJob extends MusicJob { // some private data private DrawingCanvas myCanvas; // where to draw private String myMsg; // what this job will print to the applet every time it fires boolean state = true; private Color color; // Constructor method, runs when "new" is called. TextJob(DrawingCanvas can, String s, double sec) { super(); setRepeatPause(sec); setRepeats(10000); myCanvas = can; myMsg = s; } /** return the "state" of the TextJob, used for reversing color, for example */ public boolean getState() { return state; } /** reverse the boolean state of the TextJob */ public void reverseState() { state = !state; } /** set the drawing color */ public void setColor(Color kolor) { color = kolor; } /** paint TextJob's private message to canvas */ public void printMsg() { myCanvas.printMsg(myMsg, color); } }