Java Tools Tutorials - Herong's Tutorial Examples - v6.24, by Herong Yang
Java GUI Test Program
This section provides a tutorial example on how to build a Java GUI application with JInternalFrame class and related listeners.
In order to test JAB (Java Access Bridge) related tools on my Windows computer, I wrote the following Java GUI application:
/* JInternalFrameListenerTest.java
* Copyright (c) 2018 HerongYang.com. All Rights Reserved.
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class JInternalFrameListenerTest
implements InternalFrameListener, ActionListener {
JFrame myFrame = null;
int count = 0;
public static void main(String[] a) {
(new JInternalFrameListenerTest()).test();
}
private void test() {
myFrame = new JFrame("Internal Frame Listener Test");
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setSize(300,300);
myFrame.setContentPane(new JDesktopPane());
JMenuBar myMenuBar = new JMenuBar();
JMenu myMenu = new JMenu("Frame");
JMenuItem myMenuItem = new JMenuItem("New");
myMenuItem.addActionListener(this);
myMenu.add(myMenuItem);
myMenuBar.add(myMenu);
myFrame.setJMenuBar(myMenuBar);
myFrame.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
count++;
JInternalFrame f = new JInternalFrame("Frame "+count);
f.setResizable(true);
f.setClosable(true);
f.setMaximizable(true);
f.setIconifiable(true);
f.setSize(200,200);
f.setLocation(count*10,count*10);
f.addInternalFrameListener(this);
f.setVisible(true);
myFrame.getContentPane().add(f);
}
public void internalFrameActivated(InternalFrameEvent e) {
System.out.println("Internal frame activated");
}
public void internalFrameClosed(InternalFrameEvent e) {
System.out.println("Internal frame closed");
}
public void internalFrameClosing(InternalFrameEvent e) {
System.out.println("Internal frame closing");
}
public void internalFrameDeactivated(InternalFrameEvent e) {
System.out.println("Internal frame deactivated");
}
public void internalFrameDeiconified(InternalFrameEvent e) {
System.out.println("Internal frame deiconified");
}
public void internalFrameIconified(InternalFrameEvent e) {
System.out.println("Internal frame iconified");
}
public void internalFrameOpened(InternalFrameEvent e) {
System.out.println("Internal frame opened");
}
}
Run this program, you will see a blank frame with one menu called "Frame". If you:
You will see the following messages generated from the internal frame listener methods.
Action performed - Clicked "New" menu item Internal frame opened Action performed - Clicked "New" menu item Internal frame opened Internal frame closing - Clicked the close icon Internal frame closed Internal frame activated - Clicked the maximize icon Internal frame deactivated - Clicked the minimize icon Internal frame iconified Internal frame activated - Clicked the minimized image Internal frame deiconified
At the end of the test, the main frame will look like this:
Table of Contents
javac - The Java Program Compiler
java - The Java Program Launcher
jpackage - Binary Package Builder
javadoc - The Java Document Generator
jdeps - The Java Class Dependency Analyzer
jdeprscan - The Java Deprecated API Scanner
jcmd - The JVM Diagnostic Tool
jconsole - Java Monitoring and Management Console
jstat - JVM Statistics Monitoring Tool
jhsdb - The Java HotSpot Debugger
jvisualvm (Java VisualVM) - JVM Visual Tool
javap - The Java Class File Disassembler
keytool - Public Key Certificate Tool
jrunscript - Script Code Shell
native2ascii - Native-to-ASCII Encoding Converter
►JAB (Java Access Bridge) for Windows
What Is JAB (Java Access Bridge)
"jaccesswalker" - GUI Component Tree Browser