* </p>
*
* <p>
- * Use example 1: <code>
- mainWindow.executeJavaScript("alert(foo");
+ * Use example 1: Show a alert box in the current window<code>
+ mainWindow.executeJavaScript("alert('foo');");
* </code>
* </p>
*
* <p>
- * Use example 2: <code>
+ * Use example 2: Print current window<code>
+ mainWindow.executeJavaScript("window.print()");
+ * </code>
+ * </p>
+ *
+ * <p>
+ * Use example 3: Change labels background to yellow<code>
Label label = new Label("Label");
- TextField textfield = new TextField("TestField");
mainWindow.addComponent(label);
- mainWindow.addComponent(textfield);
- mainWindow.executeJavaScript("$1.style.backgroundColor='yellow';$2.style.borderColor='red';",label,textfield);
+ mainWindow.executeJavaScript("$1.style.backgroundColor='yellow';",label);
+ * </code>
+ * </p>
+ *
+ * <p>
+ * Use example 4: Print contents of a label<code>
+ Label label = new Label("This label contains some report");
+ mainWindow.addComponent(label);
+ mainWindow.executeJavaScript("var w = window.open(); w.document.write($1.outerHTML); w.print();",label);
* </code>
* </p>
*
import com.vaadin.Application;
import com.vaadin.ui.Button;
import com.vaadin.ui.Label;
+import com.vaadin.ui.Panel;
import com.vaadin.ui.TextField;
import com.vaadin.ui.Window;
import com.vaadin.ui.Button.ClickEvent;
final Window mainWindow = new Window("Test");
setMainWindow(mainWindow);
- mainWindow.addComponent(new Button("alert('foo')",
- new Button.ClickListener() {
+ for (final String script : new String[] { "alert('foo');",
+ "window.print()", "document.write('foo')" }) {
+ Panel p = new Panel("Example: " + script);
+ p.addComponent(new Button("Run javascript",
+ new Button.ClickListener() {
- public void buttonClick(ClickEvent event) {
- mainWindow.executeJavaScript("alert('foo');");
- }
- }));
+ public void buttonClick(ClickEvent event) {
+ mainWindow.executeJavaScript(script);
+ }
+ }));
+ mainWindow.addComponent(p);
+ }
+ final String script = "$1.style.backgroundColor='yellow';$2.style.borderColor='red';";
+ Panel p = new Panel("Example: " + script);
final Label label = new Label("Label");
final TextField textfield = new TextField("TestField");
- mainWindow.addComponent(label);
- mainWindow.addComponent(textfield);
-
- final String script = "$1.style.backgroundColor='yellow';$2.style.borderColor='red';";
- mainWindow.addComponent(new Button(script, new Button.ClickListener() {
+ p.addComponent(label);
+ p.addComponent(textfield);
+ p.addComponent(new Button("Run javascript", new Button.ClickListener() {
public void buttonClick(ClickEvent event) {
mainWindow.executeJavaScript(script, label, textfield);
}
}));
+ mainWindow.addComponent(p);
+
+ final String script2 = "var w = window.open(); w.document.write($1.outerHTML); w.print();";
+ final Panel p2 = new Panel("Example: " + script2);
+ p2.addComponent(new Label("Only this panel will be printed..."));
+ p2.addComponent(new Button("Run javascript",
+ new Button.ClickListener() {
+ public void buttonClick(ClickEvent event) {
+ mainWindow.executeJavaScript(script2, p2);
+ }
+ }));
+ mainWindow.addComponent(p2);
}
}