showsysprops.js revision 1194:bc79173a9e77
1#// Usage: jjs -fx showsysprops.js 2 3/* 4 * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: 9 * 10 * - Redistributions of source code must retain the above copyright 11 * notice, this list of conditions and the following disclaimer. 12 * 13 * - Redistributions in binary form must reproduce the above copyright 14 * notice, this list of conditions and the following disclaimer in the 15 * documentation and/or other materials provided with the distribution. 16 * 17 * - Neither the name of Oracle nor the names of its 18 * contributors may be used to endorse or promote products derived 19 * from this software without specific prior written permission. 20 * 21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 22 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 23 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 24 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 25 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 26 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 27 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 28 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 29 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 30 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 31 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 */ 33 34if (!$OPTIONS._fx) { 35 print("Usage: jjs -fx showsysprops.js"); 36 exit(1); 37} 38 39// This script displays System properties as a HTML table. 40// Demonstrates heredoc to generate HTML content and display 41// using JavaFX WebView. 42 43// JavaFX, Java classes used 44var Scene = Java.type("javafx.scene.Scene"); 45var System = Java.type("java.lang.System"); 46var WebView = Java.type("javafx.scene.web.WebView"); 47 48// JavaFX start method 49function start(stage) { 50 start.title = "Your System Properties"; 51 var wv = new WebView(); 52 var sysproprows = ""; 53 var sysprops = System.properties; 54 for (var i in sysprops) { 55 sysproprows += <<TBL 56<tr> 57<td> 58${i} 59</td> 60<td> 61${sysprops[i]} 62</td> 63</tr> 64TBL 65 } 66 67 wv.engine.loadContent(<<EOF 68<html> 69<head> 70<title> 71Your System Properties 72</title> 73</head> 74<body> 75<h1>Your System Properties</h1> 76<table border="1"> 77${sysproprows} 78</table> 79</body> 80</html> 81EOF, "text/html"); 82 stage.scene = new Scene(wv, 750, 500); 83 stage.show(); 84} 85