Java SplashScreen透明图像

时间:2013-12-21 15:42:48

标签: java swing transparency splash-screen

我的应用程序需要6秒才能启动,我想添加启动画面。 我有这段代码:

public class SplashScreen extends JWindow {
    private static final long serialVersionUID = 1L;

    Image bi;
    ImageIcon ii;

    boolean loaded = false;

    public SplashScreen(String path) {
        try {
            bi = Toolkit.getDefaultToolkit().getImage(path);
            ii = new ImageIcon(bi);
            setSize(ii.getIconWidth(), ii.getIconHeight());
            setLocationRelativeTo(null);
            loaded = true;
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    public void showSplashScreen(boolean flag) {
        if (!loaded) {
            System.err.println("Splash screen image isn't loaded.");
            return;
        }
        setVisible(flag);
    }

    public void dispose() {
        dispose();
    }

    public void paint(Graphics g) {
        g.drawImage(bi, 0, 0, null);
    }
}

图片看起来很好,但我希望它看起来透明,我无法得到它。

2 个答案:

答案 0 :(得分:4)

我解决了我的问题,我添加了这一行:

setBackground(new Color(0, 255, 0, 0));

答案 1 :(得分:0)

您可以设置JWindow的不透明度,使其透明

  

setUndecorated(真);   setOpacity(0.5F);

我正在使用JFrame,它也会删除标题栏,

它对我有用