summaryrefslogtreecommitdiff
path: root/staging/darwin-x86/sample/scripting/scriptpad/README.txt
diff options
context:
space:
mode:
Diffstat (limited to 'staging/darwin-x86/sample/scripting/scriptpad/README.txt')
-rw-r--r--staging/darwin-x86/sample/scripting/scriptpad/README.txt122
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