Setting Up a Java Swing Project
To begin developing with Java Swing, create a new project in your IDE:
- File → New → Project
- Enter project name and location
- Select appropriate language, build system, and JDK version
Basic JFrame Window Implementation
The following example demonstrates creating a simple window thatt fills the entire screen:
import javax.swing.*;
import java.awt.*;
public class WindowCreator {
public static void main(String[] args) {
JFrame applicationWindow = new JFrame();
DisplaySize screenSize = Toolkit.getDefaultToolkit().getScreenSize();
applicationWindow.setBounds(0, 0, screenSize.width, screenSize.height);
applicationWindow.setExtendedState(JFrame.MAXIMIZED_BOTH);
applicationWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
applicationWindow.setVisible(true);
}
}
Configuring a Runnable JAR
To package your application as a executable JAR file:
- File → Project Structure...
- Artifacts → + → Jar → From modules with dependencies...
- Select the main class as the antry point
- Add + → Directory Content → out to configure output directory
- Build: Menu Build → Build Artifacts...
The executable JAR will be generated in the out directory after successful build.
Creating Borderless Windows
There are two primary approaches to create windows without decorations:
Method 1: Using setUndecorated()
import javax.swing.*;
import java.awt.*;
public class UndecoratedWindow extends JFrame {
public static void main(String[] args) {
UndecoratedWindow frame = new UndecoratedWindow();
DisplayToolkit toolkit = Toolkit.getDefaultToolkit();
ScreenDimension screenDimension = toolkit.getScreenSize();
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame.setBounds(0, 0, screenDimension.width, screenDimension.height);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setUndecorated(true);
frame.setVisible(true);
}
}
Note: The setUndecorated() method must be called before setVisible().
Method 2: Using Full-Screen Mode
import javax.swing.*;
import java.awt.*;
public class FullScreenWindow extends JFrame {
public static void main(String[] args) {
FullScreenWindow frame = new FullScreenWindow();
GraphicsDevice device = GraphicsEnvironment.getLocalGraphicsEnvironment()
.getDefaultScreenDevice();
device.setFullScreenWindow(frame);
}
}