/* Data Editor Component for Statistics Applets 24-December, 1997 Bryan Lewis Department of Mathematics and Computer Science Kent State University This software is in the public domain and can be used, modified and distributed without restriction. This is the basic interface for the statistics applets. Note that it implements menus, so it must run in a frame. Note also the JVM AWT 1.02 conventions. Needs: java.awt.* */ import java.awt.*; public class editor extends Frame { public TextArea data; // data entry field public TextArea result; // output field public Panel topPanel = new Panel(); // customizable top panel public Panel centerPanel = new Panel(); // customizable center panel Label label; int fontSize = 10; Font defaultFont = new Font("COURIER", Font.PLAIN, fontSize); MenuBar mBar = new MenuBar(); Menu file=new Menu("File"); Menu edit=new Menu("Edit"); Menu font=new Menu("Font"); Menu size=new Menu("Size"); MenuItem open = new MenuItem("Open..."); MenuItem print = new MenuItem("Print..."); MenuItem close = new MenuItem("Close"); MenuItem cut = new MenuItem("Cut"); MenuItem copy = new MenuItem("Copy"); MenuItem paste = new MenuItem("Paste"); MenuItem courier = new MenuItem("Courier"); MenuItem terminal = new MenuItem("Terminal"); MenuItem monaco = new MenuItem("Monaco"); MenuItem smaller = new MenuItem("Smaller"); MenuItem larger = new MenuItem("Larger"); public editor(String title) { // constructor method (set up frame) open.disable(); print.disable(); cut.disable(); copy.disable(); paste.disable(); file.add(open); file.add(print); file.add(close); edit.add(cut); edit.add(copy); edit.add(paste); font.add(courier); font.add(terminal); font.add(monaco); size.add(smaller); size.add(larger); mBar.add(file); mBar.add(edit); mBar.add(font); mBar.add(size); setMenuBar(mBar); setBackground(Color.lightGray); setLayout(new BorderLayout(2, 2)); topPanel.setLayout(new BorderLayout(1,1)); label = new Label("Data"); topPanel.add("North", label); data = new TextArea("", 10, 10); data.setBackground(Color.white); data.setFont(defaultFont); topPanel.add("Center",data); add("North", topPanel); centerPanel.setLayout(new BorderLayout(1,1)); label = new Label("Analysis"); centerPanel.add("North", label); result = new TextArea("The results will appear here",40,20); result.setBackground(Color.white); result.setFont(defaultFont); centerPanel.add("Center",result); add("Center",centerPanel); resize(425,375); } public boolean handleEvent(Event e) { switch (e.id){ case Event.WINDOW_DESTROY: this.dispose(); default: return super.handleEvent(e); } } public boolean action(Event e, Object arg) { if(e.target==close){ this.dispose(); } else if(e.target==courier){ defaultFont = new Font("COURIER", Font.PLAIN, fontSize); data.setFont(defaultFont); result.setFont(defaultFont); repaint(); } else if(e.target==monaco){ defaultFont = new Font("MONACO", Font.PLAIN, fontSize); data.setFont(defaultFont); result.setFont(defaultFont); repaint(); } else if(e.target==terminal){ defaultFont = new Font("TERMINAL", Font.PLAIN, fontSize); data.setFont(defaultFont); result.setFont(defaultFont); repaint(); } else if(e.target==smaller){ fontSize--; defaultFont = new Font(defaultFont.getName(), Font.PLAIN, fontSize); data.setFont(defaultFont); result.setFont(defaultFont); repaint(); } else if(e.target==larger){ fontSize++; defaultFont = new Font(defaultFont.getName(), Font.PLAIN, fontSize); data.setFont(defaultFont); result.setFont(defaultFont); repaint(); } return super.action(e, arg); } }