import java.applet.Applet; import java.awt.event.*; import java.awt.*; import java.awt.geom.*; /**This is the main routine**/ public class Main extends Applet { GridBagLayout game; GridBagConstraints c; ControlCanvas C; TilingCanvas P; ArithmeticGraph R; DocumentCanvas E; TorusPartition PE; TitleCanvas T; Canvas PAD1,PAD2; Canvas MIDDLE; Panel Q1,Q2; Panel P1,P2,P3; public static void main(String[] args) { Main a=new Main(); Frame2 F=new Frame2("BilliardKing by Rich Schwartz",a); a.setBackground(new Color(0,0,100)); a.init(); F.add(a); F.pack(); F.addWindowListener(new WinList(F)); F.setVisible(true); } public void init() { Color BORDERS=new Color(0,100,200); game=new GridBagLayout(); c=new GridBagConstraints(); setLayout(game); setBackground(Color.black); /**list the components*/ P1=new Panel(); P2=new Panel(); P3=new Panel(); Q1=new Panel(); Q2=new Panel(); PAD1=new Canvas(); PAD2=new Canvas(); MIDDLE=new Canvas(); C=new ControlCanvas(); P=new TilingCanvas(); R=new ArithmeticGraph(); PE=new TorusPartition(); E=new DocumentCanvas(); T=new TitleCanvas(); E.setSize(300,805); C.setSize(605,400); PE.setSize(595,400); P.setSize(605,400); R.setSize(595,400); PAD1.setSize(600,5); PAD2.setSize(600,5); PAD1.setBackground(BORDERS); P1.setBackground(BORDERS); P2.setBackground(BORDERS); P3.setBackground(BORDERS); /**make the layout**/ Q1.setLayout(new BorderLayout(0,0)); Q1.add(C,BorderLayout.NORTH); Q1.add(PAD1,BorderLayout.CENTER); Q1.add(P,BorderLayout.SOUTH); Q2.setLayout(new BorderLayout(0,0)); Q2.add(R,BorderLayout.NORTH); Q2.add(PAD2,BorderLayout.CENTER); Q2.add(PE,BorderLayout.SOUTH); /**top layer**/ P1.add(E); P1.add(Q1); P1.add(Q2); c.ipady=0; game.setConstraints(P1,c); add(P1); /**allow the components to communicate thru the manager.**/ Manager M=new Manager(); M.C=C; C.M=M; M.P=P; P.M=M; M.R=R; R.M=M; M.PE=PE; PE.M=M; M.E=E; E.M=M; } public static class Frame2 extends Frame implements ComponentListener { Main a; public Frame2(String W,Main a) { super(W); this.a=a; addComponentListener(this); } public void componentHidden(ComponentEvent e) {} public void componentMoved(ComponentEvent e) {} public void componentResized(ComponentEvent e) {} public void componentShown(ComponentEvent e) {} } }