How to create an overlay window in Java?

前端 未结 2 1519
失恋的感觉
失恋的感觉 2020-12-13 22:20

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

相关标签:
2条回答
  • 2020-12-13 22:24

    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();
        }
    }
    
    0 讨论(0)
  • 2020-12-13 22:49

    If you want to create a window for your game or something else use the JFrame.

    0 讨论(0)
提交回复
热议问题