package javaforce.webui; /** Test WebUI. * * @author pquiring */ import javaforce.webui.event.*; public class Test implements WebUIHandler { public Resource img; public Test() { try { img = Resource.readResource("javaforce/webui/webui.png", Resource.PNG); } catch (Exception e) { e.printStackTrace(); System.exit(1); } } public static void main(String args[]) { new WebUIServer().start(new Test(), 8080, false); } public byte[] getResource(String url) { //TODO : return static images, etc needed by webpage return null; } private int value = 50; public Panel getRootPanel(WebUIClient client) { Panel panel = new Panel(); //add a menubar MenuBar menubar = new MenuBar(); panel.add(menubar); Menu m1 = new Menu("File"); menubar.add(m1); MenuItem m1a = new MenuItem("Open"); m1.add(m1a); MenuItem m1b = new MenuItem("Save"); m1.add(m1b); MenuItem m1c = new MenuItem("Save As"); m1.add(m1c); Menu m2 = new Menu("Edit"); menubar.add(m2); MenuItem m2a = new MenuItem("Cut"); m2.add(m2a); MenuItem m2b = new MenuItem("Copy"); m2.add(m2b); MenuItem m2c = new MenuItem("Paste"); m2.add(m2c); Menu m3 = new Menu("More"); m2.add(m3); MenuItem m3a = new MenuItem("X1"); m3.add(m3a); MenuItem m3b = new MenuItem("X2"); m3.add(m3b); MenuItem m3c = new MenuItem("X3"); m3.add(m3c); Row row1 = new Row(); panel.add(row1); //add : togglebutton ToggleButton t = new ToggleButton("Toggle Me!"); row1.add(t); //add : button Button b = new Button("Click Me!"); row1.add(b); //add : label Label l = new Label("Ready!"); row1.add(l); //create event handler for button b.addClickListener((MouseEvent e, Component button) -> { Integer times = (Integer)client.getProperty("times"); if (times == null) times = new Integer(1); l.setText("You clicked it " + times + " times!"); client.setProperty("times", new Integer(times + 1)); ProgressBar bar = (ProgressBar)client.getProperty("bar"); bar.setValue(++value); }); //another button to popup window Button b2 = new Button("Popup"); row1.add(b2); //add popuppanel PopupPanel pp = new PopupPanel("Test"); panel.add(pp); b2.addClickListener((MouseEvent e, Component button) -> { System.out.println("Popup Panel"); pp.setPosition(100, 100); pp.setVisible(true); }); //add something to popup panel Label ppl1 = new Label("Popup Panel!"); pp.add(ppl1); //add : padding Pad pad = new Pad(); row1.add(pad); //add : combobox ComboBox comboBox = new ComboBox(); comboBox.add("option1", "Option #1"); comboBox.add("option2", "Option #2"); comboBox.add("option3", "Option #3"); comboBox.addChangedListener((Component comp) -> { ComboBox cb = (ComboBox)comp; System.out.println("comboxbox index=" + cb.getSelectedIndex()); }); row1.add(comboBox); //add : checkbox CheckBox checkBox = new CheckBox("Enable Option"); row1.add(checkBox); //add second row Row row2 = new Row(); panel.add(row2); //add : tab panel TabPanel tab = new TabPanel(); row2.add(tab); // row2.addClass("pad"); //add : table Table table = new Table(50, 50, 3, 3); table.setBorder(true); table.add(new Label("cell_0_0"), 0, 0); table.add(new Label("cell_1_1"), 1, 1); table.add(new Label("cell_2_2_______________too_long"), 2, 2); //add TabPanel Panel t1 = new Panel(); tab.add(t1, "Tab#1"); t1.add(table); Panel t2 = new Panel(); tab.add(t2, "Tab#2"); Column col = new Column(); t2.add(col); Label l2 = new Label("Another Label"); col.add(l2); TextField tf1 = new TextField("init text"); tf1.addChangedListener((Component comp) -> { TextField tf = (TextField)comp; System.out.println("textfield text=" + tf.getText()); }); col.add(tf1); TextArea ta1 = new TextArea("init text"); ta1.addChangedListener((Component comp) -> { TextArea ta = (TextArea)comp; System.out.println("textarea text=" + ta.getText()); }); col.add(ta1); List list = new List(); list.setHeight("50px"); list.add("Option #1"); list.add("Option #2"); list.add("Option #3"); Panel p = new Panel(); p.add(list); tab.add(p, "Tab#3"); Tree tree = new Tree(); tree.setHeight("50px"); TreeNode node = tree.getRootNode(); node.setData("root"); TreeNode child = new TreeNode(); child.setData("t1"); node.addNode(child); child = new TreeNode(); child.setData("t2"); node.addNode(child); node = child; child = new TreeNode(); child.setData("t3"); node.addNode(child); Panel p2 = new Panel(); p2.add(tree); tab.add(p2, "Tab#4"); //add third row Row row3 = new Row(); panel.add(row3); Image i = new Image(img); row3.add(i); SplitPanel sp = new SplitPanel(SplitPanel.VERTICAL); sp.setLeftComponent(new Label("AA")); sp.setRightComponent(new Label("BB")); row3.add(sp); //add forth row Row row4 = new Row(); panel.add(row4); LayersPanel lp = new LayersPanel(); Label layer1 = new Label("NO"); lp.add(layer1); Label layer2 = new Label("-----YES"); lp.add(layer2); row4.add(lp); //add fifth row Row row5 = new Row(); panel.add(row5); Slider vslider = new Slider(Slider.VERTICAL, 0, 100, 5); row5.add(vslider); Slider hslider = new Slider(Slider.HORIZONTAL, 0, 100, 5); row5.add(hslider); ProgressBar bar = new ProgressBar(100); bar.setValue(50); row5.add(bar); client.setProperty("bar", bar); // Pad pad2 = new Pad(); // panel.add(pad2); return panel; } }