JWindow当你的类CreateSplashScreen已经扩展时,你为什么要创建一个内部JWindow?没有必要。你在弄乱你的程序。
如何?
您实际上是在查看内部JWindow,jw.setVisible(true);但您在CreateSplashScreen`JWindow.
试试这个代码:
public class CreateSplashScreen extends JWindow
{
ImageIcon i = new ImageIcon(getClass().getResource("/createsplashscreen/testImage.png"));
public CreateSplashScreen() {
setSize(700, 500);
setLocationRelativeTo(null);
setVisible(true);
}
@Override
public void paint(Graphics g) {
super.paint(g);
g.drawImage(i.getImage(), 0, 0, null);
}
public void CloseSplashScreen() {
setVisible(false);
}
public static void main(String[] args) {
CreateSplashScreen sp = new CreateSplashScreen();
try {
Thread.sleep(2000);
} catch (InterruptedException ex) {
}
sp.CloseSplashScreen();
}
}
注意:我不知道您从源文件夹中获取图像资源的方法。
编辑:假设包含您的类的包的名称CreateSplashScreen是createsplashscreen,请确保图像testImage.png存在于createsplashscreen您的项目的包中。