package haven; public class ConfirmWnd extends Window { private Callback clbk; public ConfirmWnd(Coord c, Widget parent, String msg, final Callback callback) { super(c, Coord.z, parent, "Confirmation"); clbk = callback; new Label(Coord.z, this, msg); new Button(new Coord(0, 20), 90, this, "Ok") { public void click() { clbk.result(true); close(); } }; new Button(new Coord(100, 20), 90, this, "Cancel") { public void click() { clbk.result(false); close(); } }; pack(); } public void close() { ui.destroy(this); } public void destroy(){ clbk = null; super.destroy(); } public void wdgmsg(Widget sender, String msg, Object... args) { if (sender == cbtn) { clbk.result(false); close(); return; } super.wdgmsg(sender, msg, args); } public boolean type(char key, java.awt.event.KeyEvent ev) { if(key == 27) { clbk.result(false); close(); } return(super.type(key, ev)); } public static interface Callback { public void result(Boolean res); } }