diff options
Diffstat (limited to 'staging/darwin-x86/sample/scripting/scriptpad/README.txt')
-rw-r--r-- | staging/darwin-x86/sample/scripting/scriptpad/README.txt | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/staging/darwin-x86/sample/scripting/scriptpad/README.txt b/staging/darwin-x86/sample/scripting/scriptpad/README.txt new file mode 100644 index 0000000..ab4bd5f --- /dev/null +++ b/staging/darwin-x86/sample/scripting/scriptpad/README.txt @@ -0,0 +1,122 @@ +Scriptpad Sample + +* Introduction + +Scriptpad is a notepad like editor to open/edit/save and run +script (JavaScript) files. This sample demonstrates the use of +javax.script (JSR-223) API and JavaScript engine that is bundled +with JDK 6. + +Scriptpad sample demonstrates how to use Javascript to use Java +classes and objects to perform various tasks such as to modify, +customize Swing GUI or to connect to a running application and +monitor it using JMX (Java Management Extensions) API. + +* How to run Scriptpad? + +Scriptpad can be run with the following command: + + java -jar ./build/scriptpad.jar + +(be sure to use the correct version of java). You can +open/edit/save scripts using menu items under "File" menu. +To run currently edited script, you can use "Tools->Run" menu. + +For example, you may enter + + alert("hello, world"); + +in the editor and run the same with "Tools->Run" menu. +You will see an alert box with the message "hello, world". + +In addition to being a simple script editor/runner, scriptpad +can be used to connect to a JMX MBean server ("Tools->JMX Connect" +menu). User can specify JMX hostname and port. After connecting, +user can use "monitoring and management" script functions defined +in "mm.js" (see below). + +* Scriptpad Sources + +com.sun.demo.scriptpad.Main class is the entry point of this +sample. This class creates ScriptEngine and evaluates few +JavaScript "files" -- which are stored as resources (please +refer to src/resources/*.js). Actual code for the scriptpad's +main functionality lives in these JavaScript files. + +1. conc.js + -- simple concurrency utilities for JavaScript + +2. gui.js + -- simple GUI utilities for JavaScript + +3. mm.js + -- Monitoring and Management utilities for JavaScript + +4. scriptpad.js + -- This creates main "notepad"-like GUI for open/edit/save + and run script files + +5. Main.js + -- This script file can be used under "jrunscript" tool. + jrunscript is an experimental tool shipped with JDK (under + $JDK_HOME/bin directory). The scriptpad application can be + run by the following commands: + + cd ./src/resources + $JDK_HOME/bin/jrunscript -f Main.js -f - + + +* Extending Scriptpad: + +It is possible to extend scriptpad using scripts. There is a global +object called "application". This object has 2 fields and a method. + + Fields of the application object: + + frame -> JFrame of the scriptpad + editor -> editor pane of the scriptpad + + Method of the application object: + + addTool -> adds a menu item under "Tools" menu + + Example script to add "Tools->Hello" menu item: + + application.addTool("Hello", + function() { alert("hello, world"); }); + +After running the above script, you can click Tools->Hello menu item +and you'll see an alert box. + +Scriptpad customization may also be done by defining a file named +"scriptpad.js" under your home directory,. If this file is found, +scriptpad loads this file just after initializating everything. +In your initialization file, you can additional script functions +by "load" function. + +* Script Samples: + +On clicking the menu items under "Examples" menu, scriptpad shows +built-in examples in the editor. Also, there are few script samples +under the ./src/scripts directory. + +* Monitoring and Management with Scriptpad: + +(1) Start the application with the JMX agent - here's an example of + how the Java2D demo is started + + java -Dcom.sun.management.jmxremote.port=1090 \ + -Dcom.sun.management.jmxremote.ssl=false \ + -Dcom.sun.management.jmxremote.authenticate=false \ + -jar $JDK_HOME/demo/jfc/Font2DTest/Font2DTest.jar + +(2) Start scriptpad and click on "Tools->JMX Connect" menu. + In the prompt, enter "localhost:1090" to connect to the above + program. + +After connecting to a MBeanServer (using "Tools->JMX Connect"), +you can run any script that uses functions defined in "mm.js". +For example, it is possible to load and run management scripts that +are part of JConsole script shell plugin under the directory: + + $JDK_HOME/demo/scripting/jconsole-plugin/src/scripts |