import java.awt.*; public class ta extends java.applet.Applet { boolean started = false; public void start() { if (started) return; started=true; new top(this); } } class top extends Frame { Frame frame; Button button; Canvas canvas; Checkbox cb1; Choice choice; Label label; List list; Scrollbar scrollbar; TextArea textarea; TextField textfield; Label event_label; Button colorize_button, redraw_button, colorize_frame_same, colorize_frame_diff, fake_expose; repTile r; Label browserlabel; java.applet.Applet app; public top(java.applet.Applet app) { this.app = app; frame = this; r = new repTile(); frame.setLayout(r); r.setStretchy(-1,9); int row = 1; String s = app.getParameter("browser"); if (s == null) s = "You did not start this applet from the cgi-bin"; else s = "Your browser is "+s; browserlabel = new Label(s); frame.add(browserlabel); r.setConstraints(row,0,row,10,"",browserlabel); row++; event_label = new Label("last event: none"); frame.add(event_label); r.setConstraints(row,0,row,10,"",event_label); row++; scrollbar = new Scrollbar(Scrollbar.HORIZONTAL, 0, 64, 0, 255); System.out.println("scrollbar = "+scrollbar); frame.add(scrollbar); r.setConstraints(row,0,row,10,"",scrollbar); row++; button = new Button("button"); frame.add(button); r.setConstraints(row,0,row,0,"",button); cb1 = new Checkbox("one checkbox"); frame.add(cb1); r.setConstraints(row,1,row,1,"",cb1); row++; canvas = new Canvas(); canvas.resize(100,100); frame.add(canvas); r.setConstraints(row,0,row,0,"",canvas); row++; choice = new Choice(); choice.addItem("first"); choice.addItem("second"); choice.addItem("third"); frame.add(choice); r.setConstraints(row,0,row,0,"",choice); label = new Label("this is a label"); frame.add(label); r.setConstraints(row,1,row,1,"",label); list = new List(3,true); list.addItem("first"); list.addItem("second"); list.addItem("third"); frame.add(list); r.setConstraints(row,2,row,2,"",list); row++; textarea = new TextArea("here is some\ntext in a\nTextArea\nmake "+ "sure there\nare several lines\n",2,10); frame.add(textarea); r.setConstraints(row,0,row,0,"",textarea); textfield = new TextField("here is a lot of text in a text field", 10); frame.add(textfield); r.setConstraints(row,1,row,1,"",textfield); row ++; int col = 0; colorize_button = new Button("Change colors of objects"); frame.add(colorize_button); r.setConstraints(row,col,row,col,"",colorize_button); col ++; redraw_button = new Button("Redraw"); frame.add(redraw_button); r.setConstraints(row,col,row,col,"",redraw_button); col ++; fake_expose = new Button("Fake Expose event"); frame.add(fake_expose); r.setConstraints(row,col,row,col,"",fake_expose); col ++; col ++; colorize_frame_same = new Button("Color Frame with same color"); frame.add(colorize_frame_same); r.setConstraints(row,col,row,col,"",colorize_frame_same); col ++; colorize_frame_diff = new Button("Color Frame with different color"); frame.add(colorize_frame_diff); r.setConstraints(row,col,row,col,"",colorize_frame_diff); frame.resize(400,100); frame.show(); frame.validate(); System.out.println("we are done"); } int color_set = 0; public boolean handleEvent(Event e) { if (e.id == Event.ACTION_EVENT) if (e.target == colorize_button) { color_set ++; colorize( button); colorize( canvas); colorize( cb1); colorize( choice); colorize( label); colorize( list); colorize( scrollbar); colorize( textarea); colorize( textfield); } else if (e.target == redraw_button) { // this.paintAll(this.getGraphics()); this.repaint((long)0); } else if (e.target == colorize_frame_same) { colorize(frame); } else if (e.target == colorize_frame_diff) { color_set ++; colorize(frame); } else if (e.target == fake_expose) { Event e1 = new Event( this, e.when, Event.WINDOW_EXPOSE, 0, 0, 0, 0, this); super.handleEvent(e1); } switch (e.id) { case Event.ACTION_EVENT: case Event.SCROLL_ABSOLUTE: case Event.SCROLL_LINE_DOWN: case Event.SCROLL_LINE_UP: case Event.SCROLL_PAGE_DOWN: case Event.SCROLL_PAGE_UP: case Event.WINDOW_DESTROY: case Event.LIST_SELECT: case Event.LIST_DESELECT: event_label.setText("last event: "+e.toString()); } return false; } public void colorize(Component c) { System.out.println("color set "+color_set); if (color_set >= 3) color_set = 0; switch (color_set) { case 0: c.setForeground(Color.red); c.setBackground(Color.yellow); break; case 1: c.setForeground(Color.white); c.setBackground(Color.red); break; case 2: c.setForeground(Color.green); c.setBackground(Color.white); break; } } }