package grouptool.tatool; import jsint.*; import java.awt.*; import javax.swing.*; /** * This class represents a panel which executes closures to handle * events in the Java 1.0 event model. * @author Timothy J. Hickey, tim@cs.brandeis.edu http://www.cs.brandeis.edu/~tim **/ public class JSchemePanel extends javax.swing.JPanel { public Image buffer; public Graphics bufferg; public int width,height; int bufferwidth,bufferheight; public Procedure paintHandler; Dimension size; public JSchemePanel(int w, int h) { super(); width=bufferwidth=(w>0)?w:1; height=bufferheight=(h>0)?h:1; size = new Dimension(w,h); } public Dimension preferredSize() {return size;} public void update(Graphics g) { paint(g); } // don't let Java blank the screen /* if new window needs larger buffer then expand image buffer */ void resizeSchemeCanvas(Dimension s) { int w=s.width; int h=s.height; boolean resize= ((w>bufferwidth)||(h>bufferheight)); width=w; height=h; bufferwidth = (w