I\'m trying to create a HUD style display for a foreign application.
To do this, I\'d need to make a transparent overlay window, that would be placed on top of the w
The Java tutorials show one way this can be accomplished. Here's another approach that uses RGBA (red, green, blue, alpha) values for the background colour:
public class Overlay {
public static void main(String[] args) {
JFrame frame = new JFrame("Transparent Window");
frame.setUndecorated(true);
frame.setBackground(new Color(0, 0, 0, 0));
frame.setAlwaysOnTop(true);
// Without this, the window is draggable from any non transparent
// point, including points inside textboxes.
frame.getRootPane().putClientProperty("apple.awt.draggableWindowBackground", false);
frame.getContentPane().setLayout(new java.awt.BorderLayout());
frame.getContentPane().add(new JTextField("text field north"), java.awt.BorderLayout.NORTH);
frame.getContentPane().add(new JTextField("text field south"), java.awt.BorderLayout.SOUTH);
frame.setVisible(true);
frame.pack();
}
}
If you want to create a window for your game or something else use the JFrame
.