Command Call

The command call graphical user interface components allow a Java program to present a button or menu item that calls a non-interactive AS/400 command.

A CommandCallButton object represents a button that calls an AS/400 command when pressed. The CommandCallButton class extends the Java Foundation Classes (JFC) JButton class so that all buttons have a consistent appearance and behavior.

Similarly, a CommandCallMenuItem object represents a menu item that calls an AS/400 command when selected. The CommandCallMenuItem class extends the JFC JMenuItem class so that all menu items also have a consistent appearance and behavior.

To use a command call graphical user interface component, set both the system and command properties. These properties can be set using a constructor or through the setSystem() and setCommand() methods.

The following example creates a CommandCallButton. At run time, when the button is pressed, it creates a library called "FRED":

                       // Create the CommandCallButton
                       // object. Assume that "system" is
                       // an AS400 object created and 
                       // initialized elsewhere.  The button
                       // text says "Press Me", and there is
                       // no icon.
  CommandCallButton button = new CommandCallButton ("Press Me", null, system);

                       // Set the command that the button will run.
  button.setCommand ("CRTLIB FRED");

                       // Add the button to a frame. Assume
                       // that "frame" is a JFrame created
                       // elsewhere.
  frame.getContentPane ().add (button);

When an AS/400 command runs, it may return zero or more AS/400 messages. To detect when the AS/400 command runs, add an ActionCompletedListener to the button or menu item using the addActionCompletedListener() method. When the command runs, it fires an ActionCompletedEvent to all such listeners. A listener can use the getMessageList() method to retrieve any AS/400 messages that the command generated.

This example adds an ActionCompletedListener that processes all AS/400 messages that the command generated:

                       // Add an ActionCompletedListener that
                       // is implemented using an anonymous
                       // inner class. This is a convenient
                       // way to specify simple event
                       // listeners.
     button.addActionCompletedListener (new ActionCompletedListener ()
     {
          public void actionCompleted (ActionCompletedEvent event)
          {
                       // Cast the source of the event to a 
                       // CommandCallButton.
               CommandCallButton sourceButton = (CommandCallButton) event.getSource ();

                       // Get the list of AS/400 messages
                       // that the command generated.
               AS400Message[] messageList = sourceButton.getMessageList ();
               
                       // ... Process the message list.
          }
     });

Examples

This example shows how to use a CommandCallMenuItem in an application.

The image below shows the CommandCall graphical user interface component:

CommandCall GUI component
CommandCall GUI component