IBM 32-bit SDK for Windows, Java 2 Technology Edition, Version 1.4.1; User Guide


Copyright information

Note: Before using this information and the product it supports, be sure to read the general information under Notices.

This edition of the User Guide applies to IBM 32-bit SDK for Windows, Java 2 Technology Edition, Version 1.4.1 and IBM 32-bit Runtime Environment for Windows, Java 2 Technology Edition, Version 1.4.1, and to all subsequent releases and modifications until otherwise indicated in new editions.

(c) Copyright Sun Microsystems, Inc. 1997, 2002, 901 San Antonio Rd., Palo Alto, CA 94303 USA. All rights reserved.

(c) Copyright International Business Machines Corporation, 1999, 2003. All rights reserved.

U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.


Preface

The IBM(R) 32-bit SDK for Windows(R), Java(TM) 2 Technology Edition, Version 1.4.1 is a development environment for writing and running applets and applications that conform to the Sun Microsystems Java 1.4 Core Application Program Interface (API).

Read this User Guide if you want to use the SDK to write Sun Microsystems Java applications and applets. The User Guide provides general information about the SDK and specific information about any differences in the IBM implementation of the SDK. Read this User Guide in conjunction with the more extensive documentation on the Sun Web site: http://java.sun.com.

The SDK is supported on the following products:

Note that the Runtime Environment for Windows is a subset of the SDK and enables you only to run Java applications. If you have installed the SDK, the Runtime Environment is included.

The terms "Runtime Environment" and "Java Virtual Machine" are used interchangeably throughout this User Guide.

Technical changes for this 1.4.1 User Guide, other than minor or obvious ones such as updating "1.4.0" to "1.4.1", are indicated in red when viewing in HTML or in a color-printed copy and by vertical bars to the left of the changes.


Contents

Copyright information

Preface

Compatibility

Contents of the SDK

  • Runtime Environment
  • SDK tools
  • Tools not included in the IBM SDK
  • Using the SDK

  • Obtaining the IBM build and version number
  • The just-in-time (JIT) compiler
  • Setting the path to a tool
  • Changing the PATH statement on Windows 98 or Windows ME
  • Changing the PATH statement on Windows NT
  • |Changing the PATH statement on Windows 2000, Windows XP, or Windows Server 2003
  • Setting the CLASSPATH
  • Specifying Java options and system properties
  • Debugging Java applications
  • Java Debugger (JDB)
  • Working with applets
  • Running applets with the Applet Viewer
  • Debugging applets with the Applet Viewer
  • CORBA support
  • Support for GIOP 1.2
  • Support for Portable Interceptors
  • Support for Interoperable Naming Service
  • System properties for tracing the ORB
  • System properties for tuning the ORB
  • Java 2 security permissions for the ORB
  • ORB implementation classes
  • RMI over IIOP
  • Using the Java Plug-in
  • Supported browsers
  • Common Document Object Model (DOM) support
  • Enhanced BigDecimal

    Euro symbol support

    Transforming XML documents into HTML

    Shipping Java applications

    Service and support for independent software vendors

    Accessibility

  • |iKeyman accessibility
  • Large Swing menu accessibility
  • Keyboard traversal of JComboBox components in Swing
  • Web Start accessibility
  • Known limitations

    Any comments on this User Guide?

    Notices

  • Trademarks

  • Compatibility

    The Developer Kit is a development environment for writing applets and applications that conform to the Sun Microsystems Java 1.4 Core Application Program Interface (API).

    In general, any applet or application that ran with |version 1.3.1 or 1.4.0 of the IBM SDK for Windows, Java 2 Technology Edition, or with IBM Cross Platform Technologies for Windows v 2.0, should run correctly with IBM 32-bit SDK for Windows, v1.4.1. Applets that depend on Java 1.4 APIs do not run on browsers that do not support these APIs or do not have the Java Plug-in installed.

    There is no guarantee that 1.4 compiled classes would work on pre-1.4.0 releases.

    To read Sun's documentation on compatibility, search for it on the Sun Web site at http://java.sun.com.

    Note: IBM 32-bit SDK for Windows, v1.4.1, was built with Microsoft Visual C++ version 6.0.


    Contents of the SDK

    The SDK contains a Java Runtime Environment (JRE). This section describes the contents of the Runtime Environment and other SDK tools.


    Runtime Environment


    SDK tools

    Note: The User Guides and the accompanying license, copyright files, and demo directory are the only documentation that is included in this SDK for Windows. You can view Sun's software documentation by visiting the Sun Web site, or you can download Sun's Software documentation package from the Sun Web site: http://java.sun.com.


    Tools not included in the IBM SDK

    The following tools are not included in the IBM SDK:


    Using the SDK

    The following sections provide information about using the SDK.


    Obtaining the IBM build and version number

    To obtain the IBM build and version number, at a command prompt type:

    java -version


    The just-in-time (JIT) compiler

    The just-in-time (JIT) compiler (jitc.dll) dynamically generates machine code for frequently-used bytecode sequences in Java applications and applets while they are running.

    The SDK for Windows includes the JIT (jitc.dll), which is enabled by default. You can disable the JIT to help isolate a problem with a Java application, an applet, or the compiler itself.

    There are two ways to disable the JIT:

    To enable the JIT, type at a command prompt:

        set JAVA_COMPILER=jitc
    

    To verify whether or not the JIT is enabled, type at a command prompt:

        java -version
    

    If the JIT is in use, a message is displayed that includes:

    (JIT enabled: jitc)
    

    If the JIT is not in use, a message is displayed that includes:

    (JIT disabled)
    


    Setting the path to a tool

    The Java tools are Windows programs that are run from a command prompt. After installing the SDK software, you run a tool by typing its name at a command prompt with a filename as an argument.

    You can specify the path to a tool by typing the path in front of the tool each time. For example, if the javac compiler is in C:\Program Files\IBM\Java141\bin, you can compile a file named myfile.java by typing the following at a command prompt:

    C:\Program Files\IBM\Java141\bin\javac myfile.java
    

    Alternatively, you can add the string C:\Program Files\IBM\Java141\bin to your PATH statement. Then, you can compile the myfile.java file by typing the following at a command prompt:

    javac myfile.java
    

    The PATH statement enables Windows to find the executable files (such as javac.exe, java.exe, javadoc.exe) from any directory. To find the current value of your PATH, type the following at a command prompt:

    path
    

    Changing the PATH statement on Windows 98 or Windows ME

    To change the PATH statement on Windows 98 or Windows ME, edit the AUTOEXEC.BAT file using a text editor.

    1. Look for the PATH statement in the autoexec.bat file. Notice that the PATH statement is a series of directories separated by a semicolon (";"). Windows looks for programs in the PATH directories in order, from left to right.
    2. Add the SDK directory to the end of the PATH statement. For example:
      PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\;C:\DOS;C:\Program Files\IBM\Java141\bin;
      
    3. Restart the system.

    Changing the PATH statement on Windows NT

    To change the PATH statement on a Windows NT system:

    1. Double-click My Computer.
    2. Double-click Control Panel.
    3. Double-click System.
    4. Select the Environment tab. A list of system variables is displayed.
    5. Select Path and modify the variable by adding the desired directory in the Value text box.
    6. To make the path take effect, select Set --> Apply --> OK.

    Previously-opened command prompt windows do not reflect the changes; close and reopen the command prompt windows to see the changes.

    |Changing the PATH statement on Windows 2000, Windows XP, or Windows Server 2003

    |To change the PATH statement on a Windows 2000, Windows XP, or |Windows Server 2003 system:

    1. Double-click My Computer.
    2. Double-click Control Panel.
    3. Double-click System.
    4. Select Environment Variables on the Advanced tab. A list of system variables is displayed.
    5. Select Path and modify the variable by adding the desired directory in the Value text box.
    6. To make the path take effect, Set --> Apply --> OK.

    Previously-opened command prompt windows do not reflect the changes; close and reopen the command prompt windows to see the changes.


    Setting the CLASSPATH

    The CLASSPATH tells the Java Virtual Machine (JVM) and other JVM applications where to find classes that you develop. If you do not set the CLASSPATH, the default is the current directory (".").

    You can set the classpath at runtime by using the option -classpath. For example:

    java -classpath <directory> <class>
    

    Where <directory> is the directory where the classes you want to use are located, and <class> is the Java class you want to run. See the IBM 32-bit Runtime Environment for Windows, Java 2 Technology Edition, Version 1.4.1 User Guide for more details.

    Note: If you have installed more than one version of the SDK (for example, versions 1.3.1 and 1.4.0) and you want to develop applications in more than one version, you must set the CLASSPATH and PATH separately for the different versions. To run different versions simultaneously, you can run them in separate command prompt windows. If you are running only one version at a time, you can write a batch script to switch the values of CLASSPATH and PATH.

    To see if the CLASSPATH is set, type the following (based on the platform you are using), at a command prompt:

    On Windows 98 and Windows ME, type echo %classpath%

    On Windows NT, Windows 2000, Windows XP, and |Windows Server 2003, type set classpath

    To set the CLASSPATH to include a particular class of an application, follow this model:

        set classpath=C:\java\apps\classes;%classpath%
    

    where [C:\java\apps\classes] is the drive and path to the application and its classes.

    To reset the CLASSPATH to null and remove unwanted classes, type the following at a command prompt:

        set classpath=
    

    To make permanent changes to the CLASSPATH on Windows 98 and Windows ME, edit the startup file (AUTOEXEC.BAT) so that it contains the preceding command. On Windows NT, Windows 2000, Windows XP, and |Windows Server 2003, the Control Panel can be used to permanently change the CLASSPATH in the same way that you change the PATH. See the section Changing the PATH statement on Windows NT or the section Changing the PATH statement on Windows 2000, Windows XP, or Windows Server 2003.


    Specifying Java options and system properties

    You can specify Java options and system properties by creating an environment variable called IBM_JAVA_OPTIONS and setting it to the values you require. Any Java options or system properties specified must be preceded by a space, except for the first option. For example, you could set IBM_JAVA_OPTIONS as follows:

    IBM_JAVA_OPTIONS=-Dmysysprop1=tcpip -Dmysysprop2=wait
    

    If you specify the same options or properties from the command line (or from a JNI program), these take precedence over the options and properties specified by the IBM_JAVA_OPTIONS environment variable. The only exception to this rule is when specifying -Xt, -Xtm, or -Xdebug, all of which imply that no JIT should be used.

    Note:
    Java options should be specified in their current format, for example, -verbose:gc rather than -verbosegc.

    Debugging Java applications

    To debug Java programs, you can use the Java Debugger (JDB) application. This debugger communicates with the Java Platform Debugger Architecture (JPDA) that is provided by the SDK for Windows.

    Sun's documentation for using jdb assumes that the JVM that is to be debugged is a HotSpot JVM. However, IBM implementations of the Java Virtual Machine (JVM) always run as a Classic JVM. When using IBM's jdb therefore, always assume that the -classic option has been implicitly specified and follow the guidance for debugging a Classic JVM. Specify the -Xnoagent option, unless the agent class is required in which case specify the -Xbootclasspath option to locate it explicitly.

    Java Debugger (JDB)

    A Java Debugger is included in the SDK for Windows. The JDB application runs the class com.sun.tools.example.debug.tty.TTY. The Java Virtual Machine Debugging Interface (JVMDI) is fully supported. The jdb tool that was included in earlier versions is now included as oldjdb.

    The new JDB application uses the JPDA and enables the jdb example tool to attach to a listening Virtual Machine (VM) or to start a new debug session. It is invoked by the jdb command and can be used in the same way as the oldjdb was.

    You can use the JDB application to debug remote Java applications, including Java applications that are running on remote machines over a TCP/IP link. To debug a remote Java program, start the java program as follows:

    java -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,
    suspend=y -Djava.compiler=NONE<other args> <myapp>
     <myapp class args>
    

    The port on which the JPDA is listening is displayed. At the remote debugging machine, type:

    jdb -attach <machine name or ip address>:<port>
    

    When you launch a debug session using the dt_socket transport, be sure that the specified ports are free to use.

    |For more information on JDB and JPDA and their usage see the |following Web sites: |



    Working with applets

    Running applets with the Applet Viewer

    With the Applet Viewer, you can run one or more applets that are called by reference in a Web page (HTML file) by using the APPLET tag. The Applet Viewer finds the APPLET tags in the HTML file and runs the applets, in separate windows, as specified by the tags.

    Because the Applet Viewer is for viewing applets, it cannot display a whole Web page that contains many HTML tags. It parses only the APPLET tags and no other HTML on the Web page.

    To run an applet with the Applet Viewer, type the following at a command prompt:

       appletviewer name
    

    where name is one of the following:

    For example, to invoke the Applet Viewer on an HTML file that calls an applet, type at a command prompt:

    bin\appletviewer demo\GraphLayout\example1.html
    

    where bin is replaced by the full path to the Developer Kit's bin directory.

    For example, http://java.sun.com/applets/NervousText/example1.html is the URL of a Web page that calls an applet. To invoke the Applet Viewer on this Web page, type at a shell prompt:

    bin\appletviewer http://java.sun.com/applets/NervousText/example1.html
    


    where bin is replaced by the absolute path to the Developer Kit's bin directory.

    The Applet Viewer does not recognize the charset option of the <META> tag. If the file that appletviewer loads is not encoded as the system default, an I/O exception might occur. To avoid the exception, use the -encoding option when you run appletviewer. For example:

    appletviewer -encoding JISAutoDetect sample.html
    

    Debugging applets with the Applet Viewer

    You can debug applets by using the -debug option of Applet Viewer. When debugging applets, you are advised to invoke the Applet Viewer from the directory that contains the HTML file that calls the applet. For example:

         cd demo\TicTacToe
         bin\appletviewer -debug example1.html
    

    You can find documentation about the debugger and its API at the Sun Web site: http://java.sun.com/products/jdk/1.3/debugging/

    See http://java.sun.com for any legal statements regarding this information.


    CORBA support

    |The Java 2 Platform, Service Edition (J2SE) supports, at a minimum, |the specifications that are defined in the Official Specifications for CORBA |support in J2SE 1.4 at http://java.sun.com/j2se/1.4.1/docs/api/org/omg/CORBA/doc-files/compliance.html. |In some cases, the IBM J2SE ORB supports more-recent versions of the |specifications.

    Support for GIOP 1.2

    This SDK supports all versions of GIOP, as defined by chapters 13 and 15 of the CORBA 2.3.1 specification, OMG document formal/99-10-07, which you can obtain from:

    http://www.omg.org/cgi-bin/doc?formal/99-10-07

    Bidirectional GIOP is not supported.

    Support for Portable Interceptors

    This SDK supports Portable Interceptors, as defined by the OMG in the document ptc/01-03-04, which you can obtain from:

    http://www.omg.org/cgi-bin/doc?ptc/01-03-04

    Portable Interceptors are hooks into the ORB through which ORB services can intercept the normal flow of execution of the ORB.

    Support for Interoperable Naming Service

    This SDK supports the Interoperable Naming Service, as defined by the OMG in the document ptc/00-08-07, which you can obtain from:

    http://www.omg.org/cgi-bin/doc?ptc/00-08-07

    The default port that is used by the Transient Name Server (the tnameserv command), when no ORBInitialPort parameter is given, has changed from 900 to 2809, which is the port number that is registered with the IANA (Internet Assigned Number Authority) for a CORBA Naming Service. Programs that depend on this default might have to be updated to work with this version.

    The initial context that is returned from the Transient Name Server is now an org.omg.CosNaming.NamingContextExt. Existing programs that narrow the reference to a context org.omg.CosNaming.NamingContext still work, and do not need to be recompiled.

    The ORB supports the -ORBInitRef and -ORBDefaultInitRef parameters that are defined by the Interoperable Naming Service specification, and the ORB::string_to_object operation now supports the ObjectURL string formats (corbaloc: and corbaname:) that are defined by the Interoperable Naming Service specification.

    The OMG specifies a method ORB::register_initial_reference to register a service with the Interoperable Naming Service. However, this method is not available in the Sun Java Core API at Version 1.4.1. Programs that need to register a service in the current version must invoke this method on the IBM internal ORB implementation class. For example, to register a service "MyService":

    ((com.ibm.CORBA.iiop.ORB)orb).register_initial_reference ("MyService", serviceRef); 
    

    where orb is an instance of org.omg.CORBA.ORB, which is returned from ORB.init(), and serviceRef is a CORBA Object, which is connected to the ORB.This mechanism is an interim one, and is not compatible with future versions or portable to non-IBM ORBs.

    System properties for tracing the ORB

    A runtime debug feature provides improved serviceability. You might find it useful for problem diagnosis or it might be requested by IBM service personnel. Tracing is controlled by three system properties.

    For example, to trace events and formatted GIOP messages, type:

     java -Dcom.ibm.CORBA.Debug=true  
    		-Dcom.ibm.CORBA.CommTrace=true myapp   
    

    Do not turn on tracing for normal operation, because it might cause performance degradation. |Even if you have switched off tracing, FFDC (First Failure Data |Capture) is still working, so that only serious errors are reported. If |a debug output file is generated, examine it to check on the problem. |For example, the server might have stopped without performing an |ORB.shutdown().

    The content and format of the trace output might vary from version to version.

    System properties for tuning the ORB

    The following properties help you to tune the ORB:

    Java 2 security permissions for the ORB

    When running with a Java 2 SecurityManager, invocation of some methods in the CORBA API classes might cause permission checks to be made, which might result in a SecurityException. Affected methods include the following:


    Table 1. Methods affected when running with Java 2 SecurityManager
    Class/Interface Method Required permission
    org.omg.CORBA.ORB

    init

    java.net.SocketPermission resolve

    org.omg.CORBA.ORB

    connect

    java.net.SocketPermission listen

    org.omg.CORBA.ORB

    resolve_initial_references

    java.net.SocketPermission connect

    org.omg.CORBA.
    portable.ObjectImpl

    _is_a

    java.net.SocketPermission connect

    org.omg.CORBA.
    portable.ObjectImpl

    _non_existent

    java.net.SocketPermission connect

    org.omg.CORBA.
    portable.ObjectImpl

    OutputStream _request (String, boolean)

    java.net.SocketPermission connect

    org.omg.CORBA.
    portable.ObjectImpl

    _get_interface_def

    java.net.SocketPermission connect

    org.omg.CORBA.
    Request

    invoke

    java.net.SocketPermission connect

    org.omg.CORBA.
    Request

    send_deferred

    java.net.SocketPermission connect

    org.omg.CORBA.
    Request

    send_oneway

    java.net.SocketPermission connect

    javax.rmi.
    PortableRemoteObject

    narrow

    java.net.SocketPermission connect

    If your program uses any of these methods, ensure that it is granted the necessary permissions.

    ORB implementation classes

    The ORB implementation classes in this release are:

    org.omg.CORBA.ORBClass=com.ibm.CORBA.iiop.ORB
    org.omg.CORBA.ORBSingletonClass=com.ibm.rmi.corba.ORBSingleton
    javax.rmi.CORBA.UtilClass=com.ibm.CORBA.iiop.UtilDelegateImpl
    javax.rmi.CORBA.StubClass=com.ibm.rmi.javax.rmi.CORBA.StubDelegateImpl
    javax.rmi.CORBA.PortableRemoteObjectClass=com.ibm.rmi.javax.rmi.PortableRemoteObject

    These are the default values, and you are advised not to set these properties or refer to the implementation classes directly. For portability, make references only to the CORBA API classes, and not to the implementation. These values might be changed in future releases.


    RMI over IIOP

    Java Remote Method Invocation (RMI) provides a simple mechanism to do distributed Java programming. RMI over IIOP (RMI-IIOP) uses the Common Object Request Broker Architecture (CORBA) standard Internet Inter-ORB Protocol (IIOP protocol) to extend the base Java RMI to perform communication. This allows direct interaction with any other CORBA Object Request Brokers (ORBs), whether they were implemented in Java or another programming language.

    For information about IBM and RMI-IIOP, see this IBM Web site:

    http://www.ibm.com/developerworks/java/rmi-iiop

    The following documentation is available:

    http://www.omg.org/cgi-bin/doc?ptc/00-01-06.pdf


    Using the Java Plug-in

    The Java Plug-in is a Web browser plug-in. If you use the Java Plug-in, you can bypass your Web browser's default JVM and use instead a Runtime Environment for running applets or beans in the browser.

    The Java Plug-in is documented by Sun at: http://java.sun.com/j2se/1.4.1/docs/guide/plugin/developer_guide/.

    Supported browsers


    Table 2. Browsers supported by the Java Plug-in
    Operating System Internet Explorer default versions Internet Explorer supported versions Netscape default versions Netscape supported versions
    Windows 98 5.0 (Second Edition) 5.5 SP2, 6.0
    4.77, 6.2.2
    Windows ME 5.5 5.5 SP2, 6.0
    4.77, 6.2.2
    Windows NT 4.0 SP6a
    5.5 SP2, 6.0
    4.77, 6.2.2
    Windows 2000 SP2 5.01 5.5 SP2, 6.0
    4.77, 6.2.2
    Windows XP 6.0 6.0
    4.77, 6.2.2
    Windows Server 2003 6.0 6.0
    4.77, 6.2.2

    Common Document Object Model (DOM) support

    Because of limitations in particular browsers, you might not be able to implement all the functions of the org.w3c.dom.html package.


    Enhanced BigDecimal

    The SDK includes an enhanced BigDecimal class (com.ibm.math.BigDecimal) for Java programming. It is provided (with its supporting class MathContext) as an alternative to the java.math.BigDecimal class.

    If you are using the java.math.BigDecimal class in a Java program, and you want to access the enhanced BigDecimal class, you must change the import statement in your source code as shown:

    Change import java.math.*; to import com.ibm.math.*;

    You do not need to change any other code.


    Euro symbol support

    The IBM 32-bit SDK for Windows, v1.4.1 sets the Euro as the default currency for those countries in the European Monetary Union (EMU) for dates on or after 1 January, 2002.

    To use the old national currency, specify -Duser.variant=PREEURO on the Java command line.

    If you are running the UK, Denmark, or Sweden locales and want to use the Euro, specify -Duser.variant=EURO on the Java command line.


    Transforming XML documents into HTML

    |The IBM SDK contains the XSLT4J 2.5.0 and XML4J |4.2.0 parsers that conform to the JAXP 1.2 |specification. These parsers allow you to parse and transform XML |documents independently of any given XML processing implementation. By |using "Factory Finders" to locate the SAXParserFactory, DocumentBuilderFactory |and TransformerFactory implementations, your application can swap between |different implementations without having to change any code.

    |The XSLT4J 2.5.0 processor allows you to choose |between the original XSLT Interpretive processor or the new XSLT Compiling |processor. The Interpretive processor is designed for tooling and |debugging environments and supports the XSLT extension functions that are not |supported by the XSLT Compiling processor. The XSLT Compiling processor |is designed for high performance runtime environments; it generates a |transformation engine, or translet, from an XSL stylesheet. |This approach separates the interpretation of stylesheet instructions from |their runtime application to XML data.

    |The XSLT Interpretive processor is the default processor. To |select the XSLT Compiling processor you can: |

    |


    Shipping Java applications

    A Java application, unlike a Java applet, cannot rely on a Web browser for installation and runtime services. When you ship a Java application, your software package probably consists of the following parts:

    To run your application, a user needs the Runtime Environment for Windows. The SDK for Windows software contains a Runtime Environment. However, you cannot assume that your users have the SDK for Windows software installed.

    Your SDK for Windows software license does not allow you to redistribute any of the SDK's files with your application. You should ensure that a licensed version of the SDK for Windows is installed on the target machine.


    Service and support for independent software vendors

    If you are entitled to services for the Program code pursuant to the IBM Solutions Developer Program, contact the IBM Solutions Developer Program through your normal method of access or on the Web at: http://www.developer.ibm.com.

    If you have purchased a service contract (that is, IBM's Personal Systems Support Line or equivalent service by country), the terms and conditions of that service contract determine what services, if any, you are entitled to receive with respect to the Program.


    Accessibility

    The User Guides that are supplied with this SDK and the Runtime Environment have been tested by using screen readers. You can use a screen reader such as the Home Page Reader or the JAWS screen reader with these User Guides.

    To change the font sizes in the User Guides, use the function that is supplied with your browser, usually found under the View menu option.

    For users who require keyboard navigation, a description of useful keystrokes for Swing applications is in "Swing Component Keystroke Assignments" at http://java.sun.com/j2se/1.4/docs/api/javax/swing/doc-files/Key-Index.html


    |iKeyman accessibility

    |The iKeyman tool has a GUI only; however, the IBM 32-bit SDK for |Windows, v1.4.1 provides the command-line tool |IKEYCMD that has the same functions that iKeyman has. |IKEYCMD allows you to manage keys, certificates, and certificate |requests. You can call IKEYCMD from native shell scripts and |from programs that are to be used when applications need to add custom |interfaces to certificate and key management tasks. IKEYCMD |can create key database files for all the types that iKeyman currently |supports. IKEYCMD can also create certificate requests, |import CA signed certificates, and manage self-signed certificates.

    |To run an IKEYCMD command, enter:

    |java [-Dikeycmd.properties=<properties file>]com.ibm.gsk.ikeyman.ikeycmd
    |<object><action>[options]

    |where: |

    |<object>
    |is one of the following: |

    |-keydb
    |Actions that are taken on the key database (either a CMS key database |file, a WebDB keyring file, or SSLight class)

    |-version
    |Displays version information for IKEYCMD |

    |<action>
    |The specific action that is to be taken on the object. This action |is one of the following: |

    |-cert
    |Actions that are to be taken on a certificate

    |-certreq
    |Actions that are to be taken on a certificate request |

    |-Dikeycmd.properties
    |Specifies the name of an optional properties file to use for this Java |invocation. A default properties file, ikeycmd.properties, is |provided as a sample file that can be changed and used by any Java |application.

    |-help
    |Displays help for the IKEYCMD invocations. |
    |Note:
    The object and action keywords are positional and must be in the specified |sequence. However, options are not positional and can be in any |sequence, provided that they are specified as an option and operand |pair. |

    Large Swing menu accessibility

    If you have a Swing JMenu that has more entries than can be displayed on the screen, you can navigate through the menu items by using the down or up arrow keys or the keyboard arrows.


    Keyboard traversal of JComboBox components in Swing

    If you traverse the drop-down list of a JComboBox component with the cursor keys, the button or editable field of the combo box does not change value until an item is selected. This is the desired behavior for this release and improves accessibility and usability by ensuring that the keyboard traversal behavior is consistent with mouse traversal behavior.


    Web Start accessibility

    The IBM Java Web Start application can be used in three modes:

    Most Web Start use is from Web sites that contain .jnlp files, and is therefore accessible.

    |IBM Java Webstart V1.2 contains several accessibility and |usability improvements over the previous release, including better support for |screen readers and improved keyboard navigation.

    The command line can be used only to launch a Java application that is enabled for Web Start. To change preference options requires editing a configuration file. This file is |.javaws\javaws.cfg in the user's home directory. Take a backup before you edit the file with an accessible editor. Note that not all the preferences that can be set in the Web Start Application Manager can be set from the configuration file.


    Known limitations

    Note these limitations in IBM 32-bit SDK for Windows, v1.4.1:


    Any comments on this User Guide?

    If you have any comments about the usefulness, or otherwise, of this User Guide, we would be pleased to hear from you through one of these channels. Please note that these channels are not set up to answer technical queries, but are for comments about the documentation only. Send your comments:

    The fine print. By choosing to send a message to IBM, you acknowledge that all information contained in your message, including feedback data, such as questions, comments, suggestions, or the like, shall be deemed to be non-confidential and IBM shall have no obligation of any kind with respect to such information and shall be free to reproduce, use, disclose, and distribute the information to others without limitation. Further, IBM shall be free to use any ideas, concepts, know-how or techniques contained in such information for any purpose whatsoever, including, but not limited to, developing, manufacturing and marketing products incorporating such information.


    Notices

    This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service.

    IBM may have patents or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to:

    For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries, in writing, to:

    The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law:

    INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you.

    This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the information. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this information at any time without notice.

    Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk.

    IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you.

    Licensees of this program who wish to have information about it for the purpose of enabling (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact:

    Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee.

    The licensed program described in this document and all licensed material available for it are provided by IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any equivalent agreement between us.

    Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurement may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment.

    Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.


    Trademarks

    IBM is a trademark of International Business Machines Corporation in the United States, or other countries, or both.

    Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

    Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both.

    Other company, product, or service names may be trademarks or service marks of others.

    This product is also based in part on the work of the FreeType Project. For more information about Freetype, see http://www.freetype.org.

    This product includes software developed by the Apache Software Foundation http://www.apache.org/.