The basic component that require whenever we implement a visual interface to rid Swing is the JFrame (top-level container) class. This class encapsulates a classic window any operating system with graphical environment (Windows, OS X, Linux etc.)
We have said that this class is in the javax.swing package and as we usually use several classes to import this package then use the syntax: import javax.swing.*;
1. In the beginning of the program, the javax.swing package is imported.
2. Next, JavaSimpleFrame class is declared. An object of JFrame class is created using the statement.
JFrame frame =new JFrame ();
It creates a container called frame that defines a rectangular window with a specified string displayed on the title bar.
3. The size of the window is specified by using the statement.
frame.setSize (350, 250);
The general form of setSize() method to set the size of the window is:
void setSize (int width, int height)
where,
width is the width of the window
height is the height of the window
4. The statement used for terminating the program when the window is closed is:
frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
When the above statement is executed, the entire application terminates with the closing of window.
The general form of setDefaultCloseOperation() is
void setDefaultCloseOperation (int w)
where, w specifies the action to be performed on the window when it is closed. It has several options which are as follows
JFrame.DISPOSE_ON_CLOSE
JFrame.HIDE_ON_CLOSE
JFrame.DO_NOTHING_ON_CLOSE
By default, when the top-level window is closed, the application is not terminated. It simply removes the window from the screen.
5. The statement to make the window visible is
frame.setVisible(true);
The setVisible () method is inherited from the AWT Component class. If it is set to true, the window will be displayed, otherwise not. By default, a JFrame is invisible.
import javax.swing.*;
class JavaSimpleFrame
{
public static void main(String[] args)
{
//thread safe app
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {new SimpleFrame();}});
}
}
class SimpleFrame extends JFrame
{
private static final int WIDTH = 350;
private static final int HEIGHT = 250;
public SimpleFrame() {
//make sure we have nice Java's look and feel window
setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame();
frame.setTitle("Simple Frame");
frame.setSize(WIDTH, HEIGHT);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}