// From Lay Networks.com import java.awt.*; class Options extends Panel { Options(BellmanFord bellmanford) { b1 = new Button("clear"); b2 = new Button("run"); b3 = new Button("step"); b4 = new Button("reset"); Locked = false; parent = bellmanford; setLayout(new GridLayout(6, 1, 0, 10)); add(b1); add(b2); add(b3); add(b4); } public boolean action(Event event, Object obj) { if(event.target instanceof Button) { if(((String)obj).equals("step")) if(!Locked) { b3.setLabel("next"); parent.graphcanvas.stepalg(); } else { parent.documentation.doctext.showline("locked"); } if(((String)obj).equals("next")) parent.graphcanvas.nextstep(); if(((String)obj).equals("reset")) { parent.graphcanvas.reset(); b3.setLabel("step"); parent.documentation.doctext.showline("all items"); } if(((String)obj).equals("clear")) { parent.graphcanvas.clear(); b3.setLabel("step"); parent.documentation.doctext.showline("all items"); } if(((String)obj).equals("run")) if(!Locked) parent.graphcanvas.runalg(); else parent.documentation.doctext.showline("locked"); } return true; } public void lock() { Locked = true; } public void unlock() { Locked = false; b3.setLabel("step"); } Button b1; Button b2; Button b3; Button b4; BellmanFord parent; boolean Locked; }