import java.awt.*; public class EventViewer extends Frame { private TextField tfId; private TextField tfTarget; private TextField tfKey; private TextField tfMod; private TextField tfWhen; private TextField tfX; private TextField tfY; private TextField tfCC; private TextField tfArg; boolean boolInApplet = true; public EventViewer() { super("Event Viewer"); Panel p; p = new Panel(); GridBagLayout gbl = new GridBagLayout(); p.setLayout(gbl); GridBagConstraints gbs1 = new GridBagConstraints(); GridBagConstraints gbs2 = new GridBagConstraints(); gbs1.fill = GridBagConstraints.BOTH; gbs1.weighty = 0.5; gbs2.fill = GridBagConstraints.BOTH; gbs2.gridwidth = GridBagConstraints.REMAINDER; gbs2.weightx = 1.0; gbs2.weighty = 0.5; Component c; c = new Label("Id"); gbl.setConstraints(c, gbs1); p.add(c); tfId = new TextField(); tfId.setEditable(false); gbl.setConstraints(tfId, gbs2); p.add(tfId); c = new Label("Target"); gbl.setConstraints(c, gbs1); p.add(c); tfTarget = new TextField(); tfTarget.setEditable(false); gbl.setConstraints(tfTarget, gbs2); p.add(tfTarget); c = new Label("Key"); gbl.setConstraints(c, gbs1); p.add(c); tfKey = new TextField(); tfKey.setEditable(false); gbl.setConstraints(tfKey, gbs2); p.add(tfKey); c = new Label("Modifiers"); gbl.setConstraints(c, gbs1); p.add(c); tfMod = new TextField(); tfMod.setEditable(false); gbl.setConstraints(tfMod, gbs2); p.add(tfMod); c = new Label("Timestamp"); gbl.setConstraints(c, gbs1); p.add(c); tfWhen = new TextField(); tfWhen.setEditable(false); gbl.setConstraints(tfWhen, gbs2); p.add(tfWhen); c = new Label("X Coordinate"); gbl.setConstraints(c, gbs1); p.add(c); tfX = new TextField(); tfX.setEditable(false); gbl.setConstraints(tfX, gbs2); p.add(tfX); c = new Label("Y Coordinate"); gbl.setConstraints(c, gbs1); p.add(c); tfY = new TextField(); tfY.setEditable(false); gbl.setConstraints(tfY, gbs2); p.add(tfY); c = new Label("Click Count"); gbl.setConstraints(c, gbs1); p.add(c); tfCC = new TextField(); tfCC.setEditable(false); gbl.setConstraints(tfCC, gbs2); p.add(tfCC); c = new Label("Argument"); gbl.setConstraints(c, gbs1); p.add(c); tfArg = new TextField(); tfArg.setEditable(false); gbl.setConstraints(tfArg, gbs2); p.add(tfArg); add("Center", p); p = new Panel(); Button b = new Button("Click Me"); p.add(b); Choice ch = new Choice(); ch.addItem("one"); ch.addItem("two"); ch.addItem("three"); p.add(ch); add("South", p); } public boolean handleEvent(Event e) { tfTarget.setText(e.target.toString()); tfId.setText(String.valueOf(e.id)); tfKey.setText(String.valueOf(e.key)); tfCC.setText(String.valueOf(e.clickCount)); tfMod.setText(String.valueOf(e.modifiers)); tfWhen.setText(String.valueOf(e.when)); tfX.setText(String.valueOf(e.x)); tfY.setText(String.valueOf(e.y)); tfArg.setText(e.arg == null ? "(null)" : e.arg.toString()); if (e.id == Event.WINDOW_DESTROY) { if (boolInApplet) { dispose(); return true; } else { System.exit(0); } } return super.handleEvent(e); } public static void main(String [] args) { EventViewer ev = new EventViewer(); ev.boolInApplet = false; ev.pack(); ev.show(); } }