透明的JFrame始终位于顶部,但允许在下方单击

时间:2014-10-19 11:40:05

标签: java file jframe transparent

所以,我正在制作一个程序,目前只接受一个被拖放到其中的文件。我目前正在使用容器的JFrame,但我不认为这非常重要。

我希望窗口在运行时始终位于顶部,这样如果将任何文件拖到屏幕的右下角,程序将处理它。但是,与此同时,我希望程序能够隐藏,并且能够点击,这意味着您可以点击jframe下面的任何内容,虽然它是不可见的,但仍然可以将文件拖入到程序无需做任何特别的事情。

我从来没有听说过这样的事情,但我确信它一定是可能的。我该怎么做?

1 个答案:

答案 0 :(得分:1)

我前几天制作了一个可点击的Splash屏幕。您可能想要使用Photoshop或其他东西制作完全透明的图像。这是代码:

private BufferedImage splash;

/**
 * Create the frame.
 */
public Splash() {
    this.setUndecorated(true);
    setDefaultCloseOperation(EXIT_ON_CLOSE);

    setSize(500, 500);
    setLocationRelativeTo(null);

    try {
        splash = ImageIO.read(getClass().getResource("/images/transparent.png"));
    } catch (Exception e) {
        e.printStackTrace();
    }

    // Apply a transparent color to the background
    // This is REALLY important, without this, it won't work!
    setBackground(new Color(0, 255, 0, 0));
    getContentPane().setBackground(Color.BLACK);
    add(new JLabel(new ImageIcon(splash)));
    setVisible(true);
}