import java.awt.*; import java.applet.*; // // Author: Alexander Bogomolny, CTK Software, Inc. // URL: http://www.cut-the-knot.com // Date: November 30, 2000 // Copyright: A. Bogomolny // Permission to use and modify the file is therefore granted // as long as this comment remains unchanged. Do this at your // own risk. // public class SplineTest extends Applet implements Runnable { private Thread m_SplineTest = null; int m_Width; int m_Height; SplineTestCanvas m_Canvas; SplineTestPanel m_Panel; public SplineTest() { super(); } public String getAppletInfo() { return "Name: SplineTest - a CTK Applet\r\n" + "Author: Alexander Bogomolny"; } public void init() { super.init(); Panel panel = new Panel(); setLayout(new BorderLayout()); add("Center", panel); add("South", new CTKImprint1(this)); panel.setLayout(new BorderLayout()); m_Canvas = new SplineTestCanvas(this); panel.add("Center", m_Canvas); m_Panel = new SplineTestPanel(this); panel.add("South", m_Panel); } public void destroy() {} public void start() { if (m_SplineTest == null) { m_SplineTest = new Thread(this); m_SplineTest.start(); } } // The stop() method is called when the page containing the applet is // no longer on the screen. The AppletWizard's initial implementation of // this method stops execution of the applet's thread. //-------------------------------------------------------------------------- public void stop() { if (m_SplineTest != null) { m_SplineTest.stop(); m_SplineTest = null; } } public void run() { while (true) { try { Thread.sleep(100); } catch (InterruptedException e) { // TODO: Place exception-handling code here in case an // InterruptedException is thrown by Thread.sleep(), // meaning that another thread has interrupted this one } } } public String[][] getParameterInfo() { String[][] ParameterInfo = {{"WIDTH", "int", "(400 will do)"}, {"HEIGHT", "int", "(300 will do)"}, {"FCOLOR", "string", "000000"}, {"BCOLOR", "string", "c0dcc0"}}; return ParameterInfo; } }