]> Creatis software - CreaPhase.git/blobdiff - octave_packages/java-1.2.8/doc.info
Add a useful package (from Source forge) for octave
[CreaPhase.git] / octave_packages / java-1.2.8 / doc.info
diff --git a/octave_packages/java-1.2.8/doc.info b/octave_packages/java-1.2.8/doc.info
new file mode 100644 (file)
index 0000000..fa9eb30
--- /dev/null
@@ -0,0 +1,1255 @@
+This is octave-java.info, produced by makeinfo version 4.11 from
+octave-java.texi.
+
+\r
+
+\1f
+File: octave-java.info,  Node: Top,  Next: javaclasspath,  Up: (dir)
+
+1 Using Octave (and Matlab) with Java
+*************************************
+
+\r \r This description is based on the Octave package `java-1.2.8'. The
+`java' package usually installs its script files (.m) in the directory
+`.../share/Octave/packages/java-1.2.8' and its binary (.oct) files in
+`.../libexec/Octave/packages/java-1.2.8'. \r \r You can get help on
+specific functions in Octave by executing the help command\r with the
+name of a function from this package:\r
+     Octave > help javaObject\r
+   \r You can view this help file in Octave by executing the info
+command with \r just the word java:\r
+     Octave > doc java\r
+   \r 
+
+Note on calling Octave from Java
+================================
+
+The `java' package is designed for calling Java from Octave.\r If you
+want to call Octave from Java, you might want to use a library like \r
+`javaOctave' [http://kenai.com/projects/javaOctave] or\r `joPas'
+[http://jopas.sourceforge.net]. \r
+
+2 Table of Contents
+*******************
+
+\r Available Functions\r
+
+* Menu:
+
+* javaclasspath:: get the class path of the JVM\r
+* javaaddpath::   add a path to the class path of the JVM\r
+* javarmpath::    remove a path to the class path of the JVM\r
+* javamem::       get information about available memory\r
+* javaArray::     create a Java array\r
+* javaObject::    create a Java object\r
+* java_new::      create a Java object\r
+* javaMethod::    invoke a method on the Java object\r
+* java_invoke::   invoke a method on the Java object\r
+* java_get::      get a field on the Java object\r
+* java_set::      set a field on the Java object\r
+* javamethods::   list the available methods of a Java objects\r
+* javafields::    list the available fields of a Java objects\r
+* msgbox::        display a dialog box\r
+* errordlg::      display a dialog with an error symbol\r
+* listdlg::       display a dialog with a selection list\r
+* warndlg::       display a dialog with a warning symbol\r
+* helpdlg::       display a dialog with a help symbol\r
+* inputdlg::      display a dialog with edit fields\r
+* questdlg::      display a dialog with a question icon\r
+
+   Frequently Asked Questions
+
+* Menu:
+
+* How to distinguish between Octave and Matlab?::\r
+* How to make Java classes available?::\r
+* How to create an instance of a Java class?::\r
+* How can I handle memory limitations?::\r
+* How to compile the java package in Octave?::\r
+* Which TeX symbols are implemented in the dialog functions?::\r
+   \r
+
+3 Available Functions
+*********************
+
+\1f
+File: octave-java.info,  Node: javaclasspath,  Next: javaaddpath,  Prev: Top,  Up: Top
+
+\r
+
+3.1 javaclasspath
+=================
+
+\r
+
+ -- Function file:  javaclasspath
+ -- Function file: STATIC = javaclasspath
+ -- Function file: [STATIC, DYNAMIC] = javaclasspath
+ -- Function file: PATH = javaclasspath (WHAT)
+     \r Return the class path of the Java virtual machine as a cell
+     array of strings. \r \r If called without an input parameter:\r
+        * If no output variable is given, the result is simply printed
+          \r to the standard output.\r
+
+        * If one output variable STATIC is given, the result is\r the
+          static classpath.\r
+
+        * If two output variables STATIC and DYNAMIC are \r given, the
+          first variable will contain the static classpath,\r the
+          second will be filled with the dynamic claspath.\r
+     \r If called with a single input parameter WHAT:\r
+          If no output parameter is given:\r
+
+        * The result is printed to the standard output similar to the
+          call without input parameter.
+          \r If the output parameter PATH is used:\r
+
+        * If WHAT is '-static' the static classpath is returned.\r
+
+        * If WHAT is '-dynamic' the dynamic  classpath is returned.\r
+
+        * If WHAT is '-all' the static and the dynamic classpath \r are
+          returned in a single cell array.\r
+     \r For the example two entries have been added to the static
+     classpath using the file `classpath.txt'.\r \r Example: \r
+          Octave > javaclasspath('-all')\r
+             STATIC JAVA PATH\r
+          \r
+                z:/someclasses.jar\r
+                z:/classdir/classfiles\r
+                \r
+             DYNAMIC JAVA PATH\r
+                - empty -\r
+          \r
+          Octave > javaaddpath('z:/dynamic');\r
+          Octave > ps = javaclasspath('-all')\r
+          ps =\r
+          {\r
+            [1,1] = z:/someclasses.jar\r
+            [1,2] = z:/classdir/classfiles\r
+            [1,3] = z:/dynamic\r
+          }\r
+     \r
+
+     *See also:* *note javaaddpath: doc-javaaddpath,\r          *note
+     javarmpath: doc-javarmpath,\r          *note How to make Java
+     classes available to Octave?: doc-FAQ.\r
+   \r
+
+\1f
+File: octave-java.info,  Node: javaaddpath,  Next: javarmpath,  Prev: javaclasspath,  Up: Top
+
+3.2 javaaddpath
+===============
+
+\r
+
+ -- Function File:  javaaddpath (PATH)
+     \r Add PATH to the dynamic class path of the Java virtual machine.
+     PATH can be either a directory where .class files can be found, or
+     a .jar file containing Java classes. In both cases the directory
+     or file must exist. \r \r Example: \r \r This example adds a Java
+     archive and a directory containing .CLASS files to the CLASSPATH
+     and displays the current CLASSPATH list. \r \r
+          Octave > javaaddpath('C:/java/myclasses.jar'); \r
+          Octave > javaaddpath('C:/java/classes'); \r
+          Octave > javaclasspath; \r
+          ans = \r
+          { \r
+            [1,1] = C:\java\myclasses.jar \r
+            [1,2] = C:\java\classes \r
+          } \r
+
+     *See also:* *note javaclasspath: doc-javaclasspath, *note
+     javarmpath: doc-javarmpath,\r          *note How to make Java
+     classes available to Octave?: doc-FAQ.\r
+   \r
+
+\1f
+File: octave-java.info,  Node: javarmpath,  Next: javamem,  Prev: javaaddpath,  Up: Top
+
+3.3 javarmpath
+==============
+
+\r
+
+ -- Function File:  javarmpath (PATH)
+     Remove PATH from the dynamic class path of the Java virtual
+     machine. PATH can be either a directory where .class files can be
+     found, or a .jar file containing Java classes. \r \r Example: This
+     example removes one of the directories added in the example for
+     the `javaaddpath' function. \r \r
+          Octave > javarmpath('C:/java/classes'); \r
+          Octave > javaclasspath \r
+          { \r
+            [1,1] = C:\java\myclasses.jar \r
+          } \r
+     \r
+
+     *See also:* *note javaaddpath: doc-javaaddpath, *note
+     javaclasspath: doc-javaclasspath,\r          *note How to make
+     Java classes available to Octave?: doc-FAQ.\r
+   \r
+
+\1f
+File: octave-java.info,  Node: javamem,  Next: javaArray,  Prev: javarmpath,  Up: Top
+
+3.4 javamem
+===========
+
+\r
+
+ -- Function File:  javamem
+ -- Function File: [JMEM] = javamem
+     \r Show current memory status of the java virtual machine (JVM)\r
+     & run garbage collector.\r \r When no return argument is given the
+     info is echoed to the screen.\r Otherwise, cell array JMEM
+     contains MAXIMUM, TOTAL, and\r FREE memory (in bytes).\r \r All
+     java-based routines are run in the JVM's shared memory pool,\r a
+     dedicated and separate part of memory claimed by the JVM from\r
+     your computer's total memory (which comprises physical RAM and\r
+     virtual memory / swap space on hard disk).\r \r The maximum
+     available memory can be set using the file `java.opts'\r (in the
+     same subdirectory where `javaaddpath.m' lives, see \r `which
+     javaaddpath'. Usually that is:
+     \r [/usr]/share/Octave/packages/java-1.2.8.\r \r `java.opts' is a
+     plain text file. It can contain memory related \r options,
+     starting with `-X'.\r In the following exmaple, the first line
+     specifies the initial \r memory size in megabytes, the second line
+     specifies the requested \r maximum size:\r
+          -Xms64m\r
+          -Xmx512m\r
+     You can adapt these values if your system has limited available\r
+     physical memory. When no `java.opts' file is present, the default\r
+     assignments are depending on system hardware and Java version. \r
+     Typically these are an initial memory size of RAM/64 and \r a
+     maximum memory size of MIN(RAM/4, 1GB), where RAM\r is the amount
+     of installed memory.\r \r In the output of javamem TOTAL MEMORY is
+     what the operating\r system has currently assigned to the JVM and
+     depends on actual \r and active memory usage.\r FREE MEMORY is
+     self-explanatory. During operation of java-based\r Octave
+     functions the amounts of Total and Free memory will vary,\r due to
+     java's own cleaning up and your operating system's memory\r
+     management.\r \r Example:\r
+          Octave > javamem\r
+          Java virtual machine (JVM) memory info:\r
+          Maximum available memory:          247 MB;\r
+             (...running garbage collector...)\r
+          OK, current status:\r
+          Total memory in virtual machine:    15 MB;\r
+          Free memory in virtual machine:     15 MB;\r
+          2 CPUs available.\r
+          \r
+          Octave > [MEM] = javamem()\r
+          MEM =\r
+          {\r
+            [1,1] =  259522560\r
+            [2,1] =  16318464\r
+            [3,1] =  16085576\r
+          }\r
+     \r
+
+     *See also:* *note How can I handle memory limitations?: doc-FAQ.\r
+   \r
+
+\1f
+File: octave-java.info,  Node: javaArray,  Next: javaObject,  Prev: javamem,  Up: Top
+
+3.5 javaArray
+=============
+
+\r
+
+ -- Function File: ARRAY = javaArray (CLASS, [M, N, ...])
+ -- Function File: ARRAY = javaArray (CLASS, M, N, ...)
+     \r Create a Java array of size `[M, N, ...]' with elements of
+     class CLASS. CLASS can be a Java object representing a class or a
+     string containing the fully qualified class name. \r The generated
+     array is uninitialized, all elements are set to null if CLASS is a
+     reference type, or to a default value (usually 0) if CLASS is a
+     primitive type. \r \r Example: This example creates a (2 x 2)
+     array of Java STRING objects and assigns a value to one of the
+     elements. Finally it displays the type of A.\r
+          Octave > a = javaArray('java.lang.String', 2, 2); \r
+          Octave > a(1,1) = 'Hello'; \r
+          Octave > a\r
+          a =\r
+          <Java object: java.lang.String[][]>\r
+\r
+
+\1f
+File: octave-java.info,  Node: javaObject,  Next: java_new,  Prev: javaArray,  Up: Top
+
+3.6 javaObject
+==============
+
+\r
+
+ -- Function File: OBJECT = javaObject (CLASS, [ARG1, ..., ARGN])
+     \r Create a Java object of class CLASS, by calling the class
+     constructor with the given arguments ARG1, ..., ARGN. The CLASS
+     name should be given in fully qualified string form (including any
+     package prefix). In Matlab you should avoid to use the import
+     statement and the short form of object creation. \r \r Example:
+     This example demonstrates two ways to create a Java `StringBuffer'
+     object. The first variant creates an uninitialized STRINGBUFFER
+     object, while the second variant calls a constructor with the
+     given initial `String'. Then it displays the type of `o', and
+     finally the content of the `StringBuffer' object is displayed by
+     using its `toString' method.\r \r
+          Octave > o = javaObject('java.lang.StringBuffer'); \r
+          Octave > o = javaObject('java.lang.StringBuffer', 'Initial'); \r
+          Octave > o \r
+          o =\r
+          <Java object: java.lang.StringBuffer>\r
+          Octave > o.toString \r
+          ans = Initial\r
+     \r Equivalent to the `java_new' function.\r For compatibility with
+     Matlab it is recommended to use the `javaObject' function. \r \r
+
+     *See also:* *note java_new: doc-java_new.\r
+   \r
+
+\1f
+File: octave-java.info,  Node: java_new,  Next: javaMethod,  Prev: javaObject,  Up: Top
+
+3.7 java_new
+============
+
+\r
+
+ -- Function File: OBJECT = java_new (CLASS, [ARG1, ..., ARGN])
+     \r Create a Java object of class CLASS, by calling the class
+     constructor with the given arguments ARG1, ..., ARGN. \r
+     Equivalent to the `javaObject' function. \r For compatibility with
+     Matlab it is recommended to use the `javaObject' function. \r \r
+     Example: \r
+          Octave > o = java_new('java.lang.StringBuffer', 'Initial'); \r
+          Octave > o \r
+          o =\r
+          <Java object: java.lang.StringBuffer>\r
+          Octave > o.toString \r
+          ans = Initial\r
+     \r
+
+     *See also:* *note javaObject: doc-javaObject.\r
+   \r
+
+\1f
+File: octave-java.info,  Node: javaMethod,  Next: java_invoke,  Prev: java_new,  Up: Top
+
+3.8 javaMethod
+==============
+
+\r
+
+ -- Function File: RET = javaMethod (NAME, OBJECT[, ARG1, ..., ARGN])
+     \r Invoke the method NAME on the Java object OBJECT with the
+     arguments ARG1, ... For static methods, OBJECT can be a string
+     representing the fully qualified name of the corresponding class.
+     The function returns the result of the method invocation. \r When
+     OBJECT is a regular Java object, the structure-like indexing can
+     be used as a shortcut syntax. For instance, the two statements in
+     the example are equivalent. \r \r Example: \r
+          Octave > ret = javaMethod("method1", x, 1.0, "a string")\r
+          Octave > ret = x.method1(1.0, "a string") \r
+     \r
+
+     *See also:* *note javamethods: doc-javamethods.\r
+   \r
+
+\1f
+File: octave-java.info,  Node: java_invoke,  Next: java_get,  Prev: javaMethod,  Up: Top
+
+3.9 java_invoke
+===============
+
+\r
+
+ -- Function File: RET = java_invoke (OBJECT, NAME[, ARG1, ..., ARGN])
+     \r Invoke the method NAME on the Java object OBJECT with the
+     arguments ARG1, ... For static methods, OBJECT can be a string
+     representing the fully qualified name of the corresponding class.
+     The function returns the result of the method invocation.
+     Equivalent to the `javaMethod' function. When OBJECT is a regular
+     Java object, the structure-like indexing can be used as a shortcut
+     syntax. For instance, the two statements in the example are
+     equivalent. \r \r Example: \r
+          Octave > ret = java_invoke(x, "method1", 1.0, "a string") \r
+          Octave > ret = x.method1(1.0, "a string") \r
+     \r
+
+     *See also:* *note javamethods: doc-javamethods.\r
+   \r
+
+\1f
+File: octave-java.info,  Node: java_get,  Next: java_set,  Prev: java_invoke,  Up: Top
+
+3.10 java_get
+=============
+
+\r
+
+ -- Function File: VAL = java_get (OBJECT, NAME)
+     \r Get the value of the field NAME of the Java object OBJECT. For
+     static fields, OBJECT can be a string representing the fully
+     qualified name of the corresponding class. \r \r When OBJECT is a
+     regular Java object, the structure-like indexing can be used as a
+     shortcut syntax. For instance, the two statements in the example
+     are equivalent \r \r Example: \r
+          Octave > java_get(x, "field1") \r
+          Octave > x.field1 \r
+     \r
+
+     *See also:* *note javafields: doc-javafields,\r          *note
+     java_set: doc-java_set.\r
+   \r
+
+\1f
+File: octave-java.info,  Node: java_set,  Next: javamethods,  Prev: java_get,  Up: Top
+
+3.11 java_set
+=============
+
+\r
+
+ -- Function File: OBJECT = java_set (OBJECT, NAME, VALUE)
+     \r Set the value of the field NAME of the Java object OBJECT to
+     VALUE. For static fields, OBJECT can be a string representing the
+     fully qualified named of the corresponding Java class. \r When
+     OBJECT is a regular Java object, the structure-like indexing can
+     be used as a shortcut syntax. For instance, the two statements in
+     the example are equivalent \r \r Example: \r
+          Octave > java_set(x, "field1", val) \r
+          Octave > x.field1 = val \r
+     \r
+
+     *See also:* *note javafields: doc-javafields,\r          *note
+     java_get: doc-java_get.\r
+   \r
+
+\1f
+File: octave-java.info,  Node: javamethods,  Next: javafields,  Prev: java_set,  Up: Top
+
+3.12 javamethods
+================
+
+\r
+
+ -- Function File: M = javamethods (CLASSNAME)
+ -- Function File: M = javamethods (OBJECT)
+     \r Given a string with a Java class name CLASSNAME or a regular
+     Java object OBJECT, this function returns a cell array containing
+     descriptions of all methods of the Java class CLASSNAME
+     respectively the class of OBJECT. \r \r Examples: The first
+     example shows how the methods of a class can be queried, while the
+     second example works with the methods of a concrete instance of a
+     class. Note that creation of a `java.lang.Double' object requires
+     an initializer (in the example the value 1.2). \r
+          Octave > m = javamethods('java.lang.Double'); \r
+          Octave > size(m) \r
+          ans = \r
+            1 30 \r
+          \r
+          Octave > m{7} \r
+          ans = double longBitsToDouble(long) \r
+          \r
+          Octave > o = javaObject('java.lang.Double', 1.2); \r
+          Octave > m = javamethods(o); \r
+          Octave > size(m) \r
+          ans = \r
+            1 30 \r
+          \r
+          Octave > m{7} \r
+          ans = double longBitsToDouble(long) \r
+     \r
+
+     *See also:* *note javafields: doc-javafields,\r          *note
+     java_invoke: doc-java_invoke.\r
+   \r
+
+\1f
+File: octave-java.info,  Node: javafields,  Next: msgbox,  Prev: javamethods,  Up: Top
+
+3.13 javafields
+===============
+
+\r
+
+ -- Function File: F = javafields (CLASSNAME)
+ -- Function File: F = javafields (OBJECT)
+     \r Given a string with a Java class name CLASSNAME or a regular
+     Java object OBJECT, this function returns a cell array containing
+     the descriptions for all fields of the Java class CLASSNAME
+     respectively the class of OBJECT. \r \r Examples: \r \r The first
+     example shows how the fields of a class can be queried without
+     creating an instance of the class. \r
+          Octave > f = javafields('java.lang.Double'); \r
+          Octave > size(f)\r
+          ans =\r
+            1 10\r
+          \r
+          Octave > f{7}\r
+          ans = public static final int java.lang.Double.MAX_EXPONENT \r
+     \r The second example works with the fields of an instance of a
+     class. Note that creation of a `java.lang.Double' object requires
+     an initializer (in the example a value of 1.2 is specified). \r
+          Octave > o = javaObject('java.lang.Double', 1.2); \r
+          Octave > f = javafields(o); \r
+          Octave > size(f) \r
+          ans = \r
+            1 10 \r
+          \r
+          Octave > f{7} \r
+          ans = public static final int java.lang.Double.MAX_EXPONENT \r
+     \r
+
+     *See also:* *note java_set: doc-java_set,\r          *note
+     java_get: doc-java_get.\r
+   \r
+
+\1f
+File: octave-java.info,  Node: msgbox,  Next: errordlg,  Prev: javafields,  Up: Top
+
+3.14 msgbox
+===========
+
+\r
+
+ -- Function File: F = msgbox (MESSAGE)
+ -- Function File: F = msgbox (MESSAGE, TITLE)
+ -- Function File: F = msgbox (MESSAGE, TITLE, ICON)
+     \r Displays a MESSAGE using a dialog box. The parameter TITLE can
+     be used to optionally decorate the dialog caption. \r The third
+     optional parameter ICON can be either `'error'', `'help'' or
+     `'warn''\r and selectes the corresponding icon.\r If it is
+     omitted, no icon is shown.\r \r Examples: The first example shows
+     a dialog box without a caption text, whereas the second example
+     specifies a caption text of its own. \r The third example also
+     demonstrates how a character \r according to the TeX symbol set
+     can be specified. It is important to include a space character\r
+     after the symbol code and how to embed a newline character (ASCII
+     code 10) into the string.\r \r
+          Octave > msgbox('This is an important message'); \r
+          Octave > msgbox('Do not forget to feed the cat.', 'Remember');\r
+          Octave > msgbox(['I \heartsuit Octave!',10, ...\r
+                            ' Even if I hate it sometimes.'], ...\r
+                           'I Confess','warn');\r
+     \r \0\b[image src="images/image003.png"\0\b]\r \r
+
+     *See also:* *note errordlg: doc-errordlg,\r          *note
+     helpdlg: doc-helpdlg,\r          *note warndlg: doc-warndlg.\r
+   \r
+
+\1f
+File: octave-java.info,  Node: errordlg,  Next: helpdlg,  Prev: msgbox,  Up: Top
+
+3.15 errordlg
+=============
+
+\r
+
+ -- Function File: F = errordlg (MESSAGE)
+ -- Function File: F = errordlg (MESSAGE, TITLE)
+     \r Displays the MESSAGE using an error dialog box. The TITLE can
+     be used optionally to decorate the dialog caption instead of the
+     default title "Error Dialog". \r \r Examples: The first example
+     shows a dialog box with default caption, whereas the second
+     example specifies a its own caption \r
+          Octave > errordlg('Oops, an expected error occured'); \r
+     \0\b[image src="images/image001.png"\0\b]\r
+          Octave > errordlg('Another error occured', 'Oops'); \r
+     \r
+
+     *See also:* *note helpdlg: doc-helpdlg,\r          *note inputdlg:
+     doc-inputdlg,\r          *note listdlg: doc-listdlg,\r
+     *note questdlg: doc-questdlg,\r          *note warndlg:
+     doc-warndlg.\r
+   \r
+
+\1f
+File: octave-java.info,  Node: helpdlg,  Next: inputdlg,  Prev: errordlg,  Up: Top
+
+3.16 helpdlg
+============
+
+\r
+
+ -- Function File: F = helpdlg (MESSAGE)
+ -- Function File: F = helpdlg (MESSAGE, TITLE)
+     \r Displays the MESSAGE using a help dialog box. The help message
+     can consist of multiple lines, separated by a newline character.
+     The TITLE can be used optionally to decorate the dialog caption
+     bar instead of the default title "Help Dialog". \r \r Examples:
+     The first example shows a dialog box with default caption, whereas
+     the next two examples specify their own caption. Note that if the
+     backslash escape notation is used in a double quoted string, it is
+     immediately replaced by Octave with a newline.\r If it is
+     contained in a single quoted string, it is not replaced by Octave,
+     \r but later by the dialog function.\r \r
+          Octave > helpdlg('This is a short notice'); \r
+          Octave > helpdlg(['line #1',10,'line #2'], 'Inventory'); \r
+          Octave > helpdlg("1 eel\n9 buckazoids\n2 peas", 'Inventory'); \r
+     \r \0\b[image src="images/image004.png"\0\b]\r \r
+
+     *See also:* *note errordlg: doc-errordlg,\r          *note
+     inputdlg: doc-inputdlg,\r          *note listdlg: doc-listdlg,\r
+           *note questdlg: doc-questdlg,\r          *note warndlg:
+     doc-warndlg.\r
+   \r
+
+\1f
+File: octave-java.info,  Node: inputdlg,  Next: listdlg,  Prev: helpdlg,  Up: Top
+
+3.17 inputdlg
+=============
+
+\r
+
+ -- Function File: C = inputdlg (PROMPT)
+ -- Function File: C = inputdlg (PROMPT, TITLE)
+ -- Function File: C = inputdlg (PROMPT, TITLE, ROWSCOLS)
+ -- Function File: C = inputdlg (PROMPT, TITLE, ROWSCOLS, DEFAULTS)
+     \r Returns the user's inputs from a multi-textfield dialog box in
+     form of a cell array of strings. If the user closed the dialog
+     with the Cancel button, en empty cell array is returned. This can
+     be checked with the ISEMPTY function. The first argument PROMPT is
+     mandatory. It is a cell array with strings labeling each text
+     field. The optional string TITLE can be used as the caption of the
+     dialog. The size of the text fields can be defined by the argument
+     ROWSCOLS, which can be either a scalar to define the number of
+     columns used for each text field, a vector to define the number of
+     rows for each text field individually, or a matrix to define the
+     number of rows and columns for each text field individually. It is
+     possible to place default values into the text fields by supplying
+     a cell array of strings for the argument DEFAULTS. \r \r Examples:
+     The first example shows a simple usage of the input dialog box
+     without defaults. \r
+          Octave > prompt = {'Width','Height','Depth'}; \r
+          Octave > dims = inputdlg(prompt, 'Enter Box Dimensions'); \r
+          Octave > volume = str2num(dims{1}) * ... \r
+                            str2num(dims{2}) * str2num(dims{3}); \r
+     \r \0\b[image src="images/image005.png"\0\b]\r \r The second
+     example shows the application of a scalar for the number of rows
+     and a cell array with default values. \r
+          Octave > prompt = {'Width', 'Height', 'Depth'}; \r
+          Octave > defaults = {'1.1', '2.2', '3.3'}; \r
+          Octave > title = 'Enter Box Dimensions'; \r
+          Octave > dims = inputdlg(prompt, title, 1, defaults); \r
+          Octave > dims \r
+          dims = \r
+          {\r
+            [1,1] = 1.1 \r
+            [2,1] = 2.2 \r
+            [3,1] = 3.3 \r
+          }\r
+     \r \0\b[image src="images/image006.png"\0\b]\r \r The third
+     example shows the application of row height and column width
+     specification.. \r
+          Octave > prompt = {'Width', 'Height', 'Depth'}; \r
+          Octave > defaults = {'1.1', '2.2', '3.3'}; \r
+          Octave > rc = [1,10; 2,20; 3,30]; \r
+          Octave > title = 'Enter Box Dimensions'; \r
+          Octave > dims = inputdlg(prompt, title, rc, defaults); \r
+     \r \0\b[image src="images/image007.png"\0\b]\r \r
+
+     *See also:* *note errordlg: doc-errordlg,\r          *note
+     helpdlg: doc-helpdlg,\r          *note listdlg: doc-listdlg,\r
+         *note questdlg: doc-questdlg,\r          *note warndlg:
+     doc-warndlg.\r
+   \r
+
+\1f
+File: octave-java.info,  Node: listdlg,  Next: questdlg,  Prev: inputdlg,  Up: Top
+
+3.18 listdlg
+============
+
+\r
+
+ -- Function File: [SEL, OK] = listdlg (KEY, VALUE[, KEY, VALUE, ...])
+     \r This function returns the inputs from a list dialog box. The
+     result is returned as a vector of indices and a flag. The vector
+     SEL contains the 1-based indices of all list items selected by the
+     user. The flag OK is 1 if the user closed the dialog with the OK
+     Button, otherwise it is 0 and SEL is empty.. The arguments of this
+     function are specified in the form of KEY, VALUE pairs. At least
+     the `'ListString'' argument pair must be specified. It is also
+     possible to preselect items in the list in order to provide a
+     default selection. \r \r The KEY and VALUE pairs can be selected
+     from the following list: \r \r
+    `ListString'
+          a cell array of strings comprising the content of the list.\r
+
+    `SelectionMode'
+          can be either `'single'' or `'multiple''. \r
+
+    `ListSize'
+          a vector with two elements `[width, height]' defining the
+          size of the list field in pixels. \r
+
+    `InitialValue'
+          a vector containing 1-based indices of preselected elements.\r
+
+    `Name'
+          a string to be used as the dialog caption.\r
+
+    `PromptString'
+          a cell array of strings to be displayed above the list
+          field.\r
+
+    `OKString'
+          a string used to label the OK button.\r
+
+    `CancelString'
+          a string used to label the Cancel button.\r
+     \r Example:\r
+          Octave > [s,ok] = listdlg('ListString', ... \r
+                            {'An item', 'another', 'yet another'}, ...\r
+                            'Name', 'Selection Dialog', ...\r
+                            'SelectionMode', 'Multiple', ...\r
+                            'PromptString',['Select an item...',10,'...or multiple items']);\r
+          \r
+          Octave > imax = length(s); \r
+          Octave > for i=1:1:imax \r
+          Octave >   disp(s(i)); \r
+          Octave > end \r
+     \r \0\b[image src="images/image002.png"\0\b]\r \r
+
+     *See also:* *note errordlg: doc-errordlg,\r          *note
+     helpdlg: doc-helpdlg,\r          *note inputdlg: doc-inputdlg,\r
+           *note questdlg: doc-questdlg,\r          *note warndlg:
+     doc-warndlg.\r
+   \r
+
+\1f
+File: octave-java.info,  Node: questdlg,  Next: warndlg,  Prev: listdlg,  Up: Top
+
+3.19 questdlg
+=============
+
+\r
+
+ -- Function File: C = questdlg (MESSAGE, TITLE)
+ -- Function File: C = questdlg (MESSAGE, TITLE, DEFAULT)
+ -- Function File: C = questdlg (MESSAGE, TITLE, BTN1, BTN2, DEFAULT)
+ -- Function File: C = questdlg (MESSAGE, TITLE, BTN1, BTN2, BTN3,
+          DEFAULT)
+     \r Displays the MESSAGE using a question dialog box with a caption
+     TITLE. The dialog contains two or three buttons which all close
+     the dialog. It returns the caption of the activated button.\r \r
+     If only MESSAGE and TITLE are specified, three buttons with the
+     default captions "Yes",\r "No", "Cancel" are used.\r The string
+     DEFAULT identifies the default button, which is activated by
+     pressing the ENTER key. It must match one of the strings given in
+     BTN1, BTN2 or BTN3. If only two button captions BTN1 and BTN2 are
+     specified, the dialog will have only these two buttons. \r \r \r
+     Examples: The first example shows a dialog box with two buttons,
+     whereas the next example demonstrates the use of three buttons. \r
+          Octave > questdlg('Select your gender', 'Sex', ... \r
+                            'Male', 'Female', 'Female'); \r
+     \r \0\b[image src="images/image008.png"\0\b]\r \r
+          Octave > questdlg('Select your gender', 'Sex', ... \r
+                            'Male', 'dont know', 'Female', 'Female'); \r
+     \r \0\b[image src="images/image009.png"\0\b]\r \r
+
+     *See also:* *note errordlg: doc-errordlg,\r          *note
+     helpdlg: doc-helpdlg,\r          *note inputdlg: doc-inputdlg,\r
+           *note listdlg: doc-listdlg,\r          *note warndlg:
+     doc-warndlg.\r
+   \r
+
+\1f
+File: octave-java.info,  Node: warndlg,  Next: How to distinguish between Octave and Matlab?,  Prev: questdlg,  Up: Top
+
+3.20 warndlg
+============
+
+\r
+
+ -- Function File: F = warndlg (MESSAGE)
+ -- Function File: F = warndlg (MESSAGE, TITLE)
+     \r Displays a MESSAGE using a warning dialog box. The TITLE can be
+     used optionally to decorate the dialog caption instead of the
+     default title "Warning Dialog". \r \r Examples: The first example
+     shows a dialog box with default caption, whereas the second
+     example specifies a caption text of its own. The second example
+     also demonstrates how a character \r according to the TeX symbol
+     set can be specified. It is important to include a space
+     character\r after the symbol code. The \n character can be used to
+     start a new line. \r The third example shows an alternate way to
+     embed the newline character (the newline character has the ASCII
+     code 10) into the string.\r Please refer to the Octave manual for
+     the difference between single and double quoted\r strings.\r \r
+          Octave > warndlg('An expected warning occured'); \r
+          Octave > warndlg('I \heartsuit Octave!\nEven if I hate her sometimes.', ...\r
+                           'Confession');\r
+          Octave > warndlg(['I \heartsuit Octave!',10, ...\r
+                            ' Even if I hate her sometimes.'], ...\r
+                           'I Confess');\r
+     \r \0\b[image src="images/image003.png"\0\b]\r \r
+
+     *See also:* *note errordlg: doc-errordlg,\r          *note
+     helpdlg: doc-helpdlg,\r          *note inputdlg: doc-inputdlg,\r
+           *note listdlg: doc-listdlg,\r          *note questdlg:
+     doc-questdlg.\r
+   \r
+
+4 FAQ - Frequently asked Questions
+**********************************
+
+\1f
+File: octave-java.info,  Node: How to distinguish between Octave and Matlab?,  Next: How to make Java classes available?,  Prev: warndlg,  Up: Top
+
+4.1 How to distinguish between Octave and Matlab?
+=================================================
+
+\r Octave and Matlab are very similar, but handle Java slightly
+different. Therefore it may be necessary to detect the environment and
+use the appropriate functions. The following function can be used to
+detect the environment. Due to the persistent variable it can be called
+repeatedly without a heavy performance hit. \r \r Example: \r
+     %% \r
+     %% Return: true if the environment is Octave. \r
+     %% \r
+     function ret = isOctave \r
+       persistent retval; % speeds up repeated calls \r
+     \r
+       if isempty(retval)\r
+         retval = (exist('Octave_VERSION','builtin') > 0); \r
+       end \r
+     \r
+       ret = retval; \r
+     end \r
+   \r
+
+\1f
+File: octave-java.info,  Node: How to make Java classes available?,  Next: How to create an instance of a Java class?,  Prev: How to distinguish between Octave and Matlab?,  Up: Top
+
+4.2 How to make Java classes available to Octave?
+=================================================
+
+\r Java finds classes by searching a CLASSPATH. This is a list of Java
+archive files and/or directories containing class files.\r In Octave
+and Matlab the CLASSPATH is composed of two parts:\r
+   * the STATIC CLASSPATH is initialized once at startup of the JVM,
+     and\r
+
+   * the DYNAMIC CLASSPATH which can be modified at runtime.\r
+   Octave searches the STATIC CLASSPATH first, then the DYNAMIC
+CLASSPATH.\r Classes appearing in the STATIC as well as in the DYNAMIC
+CLASSPATH will therefore be found in the STATIC CLASSPATH and loaded
+from this location.\r
+\r Classes which shall be used regularly or must be available to all
+users should be \r added to the STATIC CLASSPATH. \r The STATIC
+CLASSPATH is populated once from the contents of a plain text file
+named `classpath.txt' when the Java Virtual Machine starts. This file
+contains one line for each individual classpath to be added to the
+STATIC CLASSPATH.\r These lines can identify single class files,
+directories containing class files or Java archives with complete class
+file hierarchies.\r Comment lines starting with a `#' or a  `%'
+character are ignored.\r \r The search rules for the file
+`classpath.txt' are:\r
+   * First, Octave searches for the file `classpath.txt' in your home
+     directory,\r If such a file is found, it is read and defines the
+     initial STATIC CLASSPATH.\r Thus it is possible to build an
+     initial static classpath on a 'per user' basis.\r \r
+
+   * Next, Octave looks for another file `classpath.txt' in the package
+     installation directory.\r This is where `javaclasspath.m' resides,
+     usually something like `...\share\Octave\packages\java-1.2.8'. \r
+     You can find this directory by executing the command\r
+          pkg list\r
+     If this file exists, its contents is also appended to the static
+     classpath.\r Note that the archives and class directories defined
+     in this file will affect all users.\r
+   \r Classes which are used only by a specific script should be placed
+in the DYNAMIC CLASSPATH. This portion of the classpath can be modified
+at runtime using the `javaaddpath' and `javarmpath' functions. \r \r
+Example: \r
+     Octave > base_path = 'C:/Octave/java_files'; \r
+     \r
+     Octave > % add two JARchives to the dynamic classpath \r
+     Octave > javaaddpath([base_path, '/someclasses.jar']); \r
+     Octave > javaaddpath([base_path, '/moreclasses.jar']); \r
+     \r
+     Octave > % check the dynamic classpath \r
+     Octave > p = javaclasspath; \r
+     Octave > disp(p{1}); \r
+     C:/Octave/java_files/someclasses.jar\r
+     Octave > disp(p{2}); \r
+     C:/Octave/java_files/moreclasses.jar\r
+     \r
+     Octave > % remove the first element from the classpath \r
+     Octave > javarmpath([base_path, '/someclasses.jar']); \r
+     Octave > p = javaclasspath; \r
+     Octave > disp(p{1}); \r
+     C:/Octave/java_files/moreclasses.jar\r
+     \r
+     Octave > % provoke an error\r
+     Octave > disp(p{2}); \r
+     error: A(I): Index exceeds matrix dimension. \r
+   \r Another way to add files to the DYNAMIC CLASSPATH exclusively for
+your user account is to use the file `.octaverc' which is stored in
+your home directory.\r All Octave commands in this file are executed
+each time you start a new instance of Octave. \r The following example
+adds the directory `octave' to Octave's search path and \r the archive
+`myclasses.jar' in this directory to the Java search path.\r
+     % content of .octaverc:\r
+     addpath('~/octave');\r
+     javaaddpath('~/octave/myclasses.jar');\r
+   \r
+
+\1f
+File: octave-java.info,  Node: How to create an instance of a Java class?,  Next: How can I handle memory limitations?,  Prev: How to make Java classes available?,  Up: Top
+
+4.3 How to create an instance of a Java class?
+==============================================
+
+\r If your code shall work under Octave as well as Matlab you should
+use the function `javaObject' to create Java objects. The function
+`java_new' is Octave specific and does not exist in the Matlab
+environment.\r \r Example 1, suitable for Octave but not for Matlab: \r
+        Passenger = java_new('package.FirstClass', row, seat);\r
+   \r Example 2, which works in Octave as well as in Matlab: \r
+        Passenger = javaObject('package.FirstClass', row, seat);\r
+   \r
+
+\1f
+File: octave-java.info,  Node: How can I handle memory limitations?,  Next: How to compile the java package in Octave?,  Prev: How to create an instance of a Java class?,  Up: Top
+
+4.4 How can I handle memory limitations?
+========================================
+
+\r In order to execute Java code Octave creates a Java Virtual Machine
+(JVM). Such a JVM allocates a fixed amount of initial memory and may
+expand this pool up to a fixed maximum memory limit. The default values
+depend on the Java version (see *note javamem: doc-javamem.).\r The
+memory pool is shared by all Java objects running in the JVM.\r This
+strict memory limit is intended mainly to avoid that runaway
+applications inside web browsers or in enterprise servers can consume
+all memory and crash the system. \r When the maximum memory limit is
+hit, Java code will throw exceptions so that applications will fail or
+behave unexpectedly.\r \r In Octave as well as in Matlab, you can
+specify options for the creation of the JVM inside a file named
+`java.opts'. \r This is a text file where you can enter lines
+containing `-X' and `-D' options handed to the JVM during
+initialization. \r \r In Octave, the Java options file must be located
+in the directory where `javaclasspath.m' resides, i.e. the package
+installation directory, usually something like
+...\SHARE\OCTAVE\PACKAGES\JAVA-1.2.8. You can find this directory by
+executing \r
+     pkg list\r
+   \r In Matlab, the options file goes into the MATLABROOT/BIN/ARCH
+directory or in your personal Matlab startup directory (can be
+determined by a `pwd' command). MATLABROOT is the Matlab root directory
+and ARCH is your system architecture, which you find by issuing the
+commands `matlabroot' respectively `computer('arch')'.\r \r The `-X'
+options allow you to increase the maximum amount of memory available to
+the JVM to 256 Megabytes by adding the following line to the
+`java.opts' file: \r
+     -Xmx256m \r
+   \r The maximum possible amount of memory depends on your system. On
+a Windows system with 2 Gigabytes main memory you should be able to set
+this maximum to about 1 Gigabyte.\r \r If your application requires a
+large amount of memory from the beginning, you can also specify the
+initial amount of memory allocated to the JVM. Adding the following
+line to the `java.opts' file starts the JVM with 64 Megabytes of
+initial memory:\r
+     -Xms64m \r
+   \r For more details on the available `-X' options of your Java
+Virtual Machine issue the command `java -X' at the operating system
+command prompt and consult the Java documentation.\r \r \r The `-D'
+options can be used to define system properties which can then be used
+by Java classes inside Octave. System properties can be retrieved by
+using the `getProperty()' methods of the `java.lang.System' class. The
+following example line defines the property MYPROPERTY and assigns it
+the string `12.34'. \r
+     -DMyProperty=12.34\r
+   The value of this property can then be retrieved as a string by a
+Java object or in Octave:\r
+     Octave > javaMethod('java.lang.System', 'getProperty', 'MyProperty');\r
+     ans = 12.34\r
+   \r
+
+*See also:* *note javamem: doc-javamem.\r \r
+
+\1f
+File: octave-java.info,  Node: How to compile the java package in Octave?,  Next: Which TeX symbols are implemented in the dialog functions?,  Prev: How can I handle memory limitations?,  Up: Top
+
+4.5 How to compile the java package in Octave?
+==============================================
+
+\r Most Octave installations come with the JAVA package pre-installed.
+In case you want to replace this package with a more recent version,
+you must perform the following steps: \r \r
+
+4.5.1 Uninstall the currently installed package JAVA
+----------------------------------------------------
+
+Check whether the JAVA package is already installed by issuing\r the
+`pkg list' command:\r
+     Octave > pkg list\r
+     Package Name  | Version | Installation directory\r
+     --------------+---------+-----------------------\r
+             java *|   1.2.8 | /home/octavio/octave/java-1.2.8\r
+     Octave > \r
+   \r If the JAVA package appears in the list you must uninstall it
+first by issuing the command \r
+     Octave > pkg uninstall java\r
+     Octave > pkg list\r
+   \r Now the java package should not be listed anymore. If you have
+used the JAVA package during the current session of Octave, you have to
+exit and restart Octave before you can uninstall the package. This is
+because the system keeps certain libraries in memory after they have
+been loaded once.\r \r
+
+4.5.2 Make sure that the build environment is configured properly
+-----------------------------------------------------------------
+
+The installation process requires that the environment variable
+`JAVA_HOME' points to the Java Development Kit (JDK) on your computer.
+\r \r
+   * Note that JDK is not equal to JRE (Java Runtime Environment). The
+     JDK home directory contains subdirectories with include, library
+     and executable files which are required to compile the JAVA
+     package. These files are not part of the JRE, so you definitely
+     need the JDK. \r
+
+   * Do not use backslashes but ordinary slashes in the path. \r
+   \r Set the environment variable `JAVA_HOME' according to your local
+JDK installation. Please adapt the path in the following examples
+according to the JDK installation on your system.
+\r If you are using a Windows system that might be: \r
+     Octave > setenv("JAVA_HOME","C:/Java/jdk1.6.0_21");\r
+   Note, that on both system types, Windows as well as Linux, you must
+use the forward slash '/' as the separator, not the backslash '\'.\r \r
+If you are using a Linux system this would look probably more like: \r
+     Octave > setenv("JAVA_HOME","/usr/local/jdk1.6.0_21");\r
+   \r
+
+4.5.3 Compile and install the package in Octave
+-----------------------------------------------
+
+If you have for example saved the package archive on your Z: drive the
+command would be: \r
+     Octave> pkg install -verbose z:/java-1.2.8.tar.gz\r
+   or if you have Linux and the package file is stored in your home
+directory: \r
+     Octave > pkg install -verbose ~/java-1.2.8.tar.gz\r
+   The option `-verbose' will produce some lengthy output, which should
+not show any errors \r (maybe a few warnings at best). \r \r You can
+then produce a list of all installed packages: \r
+     Octave > pkg list\r
+   \r This list of packages should now include the package JAVA:\r
+     Octave > pkg list\r
+     Package Name  | Version | Installation directory\r
+     --------------+---------+-----------------------\r
+             java *|   1.2.8 | /home/octavio/octave/java-1.2.8\r
+     Octave > \r
+   \r
+
+4.5.4 Test the java package installation
+----------------------------------------
+
+\r The following code creates a Java string object, which however is
+automatically converted to an Octave string:\r
+     Octave > s = javaObject('java.lang.String', 'Hello OctaveString') \r
+     s = Hello OctaveString \r
+   \r Note that the java package automatically transforms the Java
+String object to an Octave string. This means that you cannot apply
+Java String methods to the result. \r \r This "auto boxing" scheme
+seems to be implemented for the following Java classes: \r
+   * java.lang.Integer\r
+
+   * java.lang.Double \r
+
+   * java.lang.Boolean \r
+
+   * java.lang.String \r
+   \r If you instead create an object for which no "auto-boxing" is
+implemented, `javaObject' returns the genuine Java object: \r
+     Octave > v = javaObject('java.util.Vector') \r
+     v = \r
+     <Java object: java.util.Vector> \r
+     Octave > v.add(12); \r
+     Octave > v.get(0) \r
+     ans = 12 \r
+   \r If you have created such a Java object, you can apply all methods
+of the Java class to the returned object. Note also that for some
+objects you must specify an initializer: \r
+     % not: \r
+     Octave > d = javaObject('java.lang.Double') \r
+     error: [java] java.lang.NoSuchMethodException: java.lang.Double \r
+     % but: \r
+     Octave > d = javaObject('java.lang.Double',12.34) \r
+     d = 12.340 \r
+   \r
+
+\1f
+File: octave-java.info,  Node: Which TeX symbols are implemented in the dialog functions?,  Prev: How to compile the java package in Octave?,  Up: Top
+
+4.6 Which TeX symbols are implemented in the dialog functions?
+==============================================================
+
+\r The dialog functions contain a translation table for TeX like symbol
+codes. Thus messages and labels can be tailored to show some common
+mathematical symbols or Greek characters. No further TeX formatting
+codes are supported. The characters are translated to their Unicode
+equivalent. However, not all characters may be displayable on your
+system. This depends on the font used by the Java system on your
+computer.\r \r Each TeX symbol code must be terminated by a space
+character to make it distinguishable from the surrounding text.
+Therefore the string `\alpha =12.0' will produce the desired result,
+whereas `\alpha=12.0' would produce the literal text '\ALPHA=12.0'.\r \r
+
+*See also:* *note errordlg: doc-errordlg,\r          *note helpdlg:
+doc-helpdlg,\r          *note inputdlg: doc-inputdlg,\r          *note
+listdlg: doc-listdlg,\r          *note msgbox: doc-msgbox,\r
+*note questdlg: doc-questdlg,\r          *note warndlg: doc-warndlg.\r
+\r \r \r
+
+Index
+=====
+
+\r
+
+\0\b[index\0\b]
+* Menu:
+
+* array, creating a Java array:          javaArray.            (line  6)
+* available functions:                   Top.                  (line 29)
+* calling Java from Octave:              Top.                  (line  6)
+* calling Octave from Java:              Top.                  (line 16)
+* classes, making available to Octave:   How to make Java classes available?.
+                                                               (line  6)
+* classpath, adding new path:            javaaddpath.          (line  6)
+* classpath, difference between static and dynamic: How to make Java classes available?.
+                                                               (line  6)
+* classpath, displaying:                 javaclasspath.        (line  8)
+* classpath, dynamic <1>:                javaaddpath.          (line  6)
+* classpath, dynamic:                    javaclasspath.        (line  8)
+* classpath, removing path:              javarmpath.           (line  6)
+* classpath, setting:                    How to make Java classes available?.
+                                                               (line  6)
+* classpath, static:                     javaclasspath.        (line  8)
+* classpath.txt:                         How to make Java classes available?.
+                                                               (line  6)
+* compiling the java package, how?:      How to compile the java package in Octave?.
+                                                               (line  6)
+* dialog, displaying a help dialog:      helpdlg.              (line  6)
+* dialog, displaying a list dialog:      listdlg.              (line  6)
+* dialog, displaying a question dialog:  questdlg.             (line  6)
+* dialog, displaying a warning dialog <1>: warndlg.            (line  6)
+* dialog, displaying a warning dialog:   msgbox.               (line  6)
+* dialog, displaying an error dialog:    errordlg.             (line  6)
+* dialog, displaying an input dialog:    inputdlg.             (line  6)
+* dynamic classpath <1>:                 How to make Java classes available?.
+                                                               (line  6)
+* dynamic classpath:                     javaclasspath.        (line  8)
+* dynamic classpath, adding new path:    javaaddpath.          (line  6)
+* field, returning value of Java object field: java_get.       (line  6)
+* field, setting value of Java object field: java_set.         (line  6)
+* fields, displaying available fields of a Java object: javafields.
+                                                               (line  6)
+* functions, available in the package java: Top.               (line 29)
+* instance, how to create:               How to create an instance of a Java class?.
+                                                               (line  6)
+* java package, how to compile?:         How to compile the java package in Octave?.
+                                                               (line  6)
+* java package, how to install?:         How to compile the java package in Octave?.
+                                                               (line  6)
+* java package, how to uninstall?:       How to compile the java package in Octave?.
+                                                               (line  6)
+* Java, calling from Octave:             Top.                  (line  6)
+* Java, using with Octave:               Top.                  (line  6)
+* memory, displaying Java memory status: javamem.              (line  6)
+* memory, limitations:                   How can I handle memory limitations?.
+                                                               (line  6)
+* method, invoking a method of a Java object <1>: java_invoke. (line  6)
+* method, invoking a method of a Java object: javaMethod.      (line  6)
+* methods, displaying available methods of a Java object: javamethods.
+                                                               (line  6)
+* object, creating a Java object <1>:    java_new.             (line  6)
+* object, creating a Java object:        javaObject.           (line  6)
+* object, how to create:                 How to create an instance of a Java class?.
+                                                               (line  6)
+* Octave and Matlab, how to distinguish between: How to distinguish between Octave and Matlab?.
+                                                               (line  6)
+* Octave, calling from Java:             Top.                  (line 16)
+* package java, available functions:     Top.                  (line 29)
+* package, how to compile?:              How to compile the java package in Octave?.
+                                                               (line  6)
+* path, adding to classpath:             javaaddpath.          (line  6)
+* path, removing from classpath:         javarmpath.           (line  6)
+* static classpath <1>:                  How to make Java classes available?.
+                                                               (line  6)
+* static classpath:                      javaclasspath.        (line  8)
+* symbols, translation table:            Which TeX symbols are implemented in the dialog functions?.
+                                                               (line  6)
+* TeX symbols, translation table:        Which TeX symbols are implemented in the dialog functions?.
+                                                               (line  6)
+* translation table for TeX symbols:     Which TeX symbols are implemented in the dialog functions?.
+                                                               (line  6)
+* using Octave with Java:                Top.                  (line  6)
+
+   \r
+
+
+\1f
+Tag Table:
+Node: Top\7f87
+Node: javaclasspath\7f2609
+Ref: doc-javaclasspath\7f2739
+Node: javaaddpath\7f4789
+Ref: doc-javaaddpath\7f4919
+Node: javarmpath\7f5818
+Ref: doc-javarmpath\7f5940
+Node: javamem\7f6642
+Ref: doc-javamem\7f6756
+Node: javaArray\7f9286
+Ref: doc-javaArray\7f9404
+Node: javaObject\7f10242
+Ref: doc-javaObject\7f10363
+Node: java_new\7f11628
+Ref: doc-java_new\7f11746
+Node: javaMethod\7f12376
+Ref: doc-javaMethod\7f12499
+Node: java_invoke\7f13225
+Ref: doc-java_invoke\7f13350
+Node: java_get\7f14123
+Ref: doc-java_get\7f14242
+Node: java_set\7f14859
+Ref: doc-java_set\7f14978
+Node: javamethods\7f15629
+Ref: doc-javamethods\7f15756
+Node: javafields\7f16975
+Ref: doc-javafields\7f17098
+Node: msgbox\7f18392
+Ref: doc-msgbox\7f18504
+Node: errordlg\7f19854
+Ref: doc-errordlg\7f19967
+Node: helpdlg\7f20771
+Ref: doc-helpdlg\7f20884
+Node: inputdlg\7f22115
+Ref: doc-inputdlg\7f22229
+Node: listdlg\7f24956
+Ref: doc-listdlg\7f25069
+Node: questdlg\7f27274
+Ref: doc-questdlg\7f27388
+Node: warndlg\7f28988
+Ref: doc-warndlg\7f29138
+Node: How to distinguish between Octave and Matlab?\7f30751
+Ref: doc-FAQ\7f31002
+Node: How to make Java classes available?\7f31650
+Node: How to create an instance of a Java class?\7f35404
+Node: How can I handle memory limitations?\7f36140
+Node: How to compile the java package in Octave?\7f39263
+Node: Which TeX symbols are implemented in the dialog functions?\7f44056
+\1f
+End Tag Table
+
+\1f
+Local Variables:
+coding: utf-8
+End: