要做一个程序的启动画面,这段程序有错误嘛?

xiangcun xiangcun 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
运行时提示信息如下:
Uncaught error fetching image:

java.lang.NullPointerException

at sun.awt.image.URLImageSource.getConnection(URLImageSource.java:99)

at sun.awt.image.URLImageSource.getDecoder(URLImageSource.java:108)

at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:248)

at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:172)

at sun.awt.image.ImageFetcher.run(ImageFetcher.java:136)


程序:
public class SpleshWindow extends JWindow {
private String statusStr =null;//信息窗口要显示的信息
private Image logoImg =null;//信息窗口中的显示图片
public SpleshWindow(JFrame owner) {//以JFrame对象为参数,可以是信息窗口和主窗口交互
super(owner);
//加载图片
logoImg=getToolkit().getImage( ClassLoader.getSystemResource("splesh.jpg"));
//this指的是什么
//等待图片加载完成
java.awt.MediaTracker tracker = new java.awt.MediaTracker(this);//创建一个MediaTracker对象
tracker.addImage(logoImg,0);//将图片放入MediaTracker对象中,序号是0
try{
tracker.waitForAll();
}catch(InterruptedException e){
e.printStackTrace();
}
//设置信息窗体在屏幕上的显示位置
setLocation(getToolkit().getScreenSize().width/2-logoImg.getWidth(this)/2,getToolkit().getScreenSize().height/2-logoImg.getHeight(this)/2);
setSize(logoImg.getWidth(this),logoImg.getHeight(this));//设置窗口大小
}


//设置显示信息的方法
public void setStatus(String status){
statusStr = status;
paint(getGraphics());//重画窗口来更新信息窗口中的显示信息
}

//重置Paint()方法来绘制图片和显示信息的方法
public void paint(Graphics g){
/**@ todo Override this java.awt.Component method
*/
super.paint(g);
//绘制图片
if(logoImg!=null)
g.drawImage(logoImg,0,0,this);
//绘制显示信息
if(statusStr!=null){
g.setColor(Color.red);
g.drawString(statusStr,240,getSize().height-250);
}
}
}
...全文

相关推荐

c# winfrom 启动画面与等待窗口制作错误修正

**错误修正**: - 确保在关闭启动画面和等待窗口时正确处理线程同步问题,防止因主线程阻塞导致的应用程序无响应。 - 检查可能出现的空指针异常或其他运行时错误,确保所有控件在使用前都已经初始化。

piaoshuai

C# WinForm启动画面与等待窗口的创建与优化

程序入口点是一个程序执行的起点。对于托管代码来说,入口点通常是一个名为Main的方法。在C#中,Main方法必须是静态的,并可以返回一个整数。这表示程序的退出代码,通常用于表示成功执行或发生错误的代码。入口点具有以下特性:它是程序的执行起点。可以存在多个入口点,例如在不同的类中定义多个静态的Main方法,但编译器必须明确指定哪个是程序的入口点。入口点可以接受命令行参数,这些参数可以用来控制程序的行为。

May Wei

QT图形界面库创建程序启动画面

QT是一个跨平台的C++应用程序开发框架,广泛应用于GUI程序开发和嵌入式开发。它提供了一套丰富的API,包括窗口系统、网络、数据库等。QLabel 的显示属性可以自定义,以下展示了如何设置文本对齐、添加边框和设置背景色等高级特性:// 创建一个 QLabel 对象// 设置文本对齐方式为居中// 加载一个图片文件,并设置为 QLabel 的内容// 设置 QLabel 的边框,此处使用了矩形绘制");// 设置 QLabel 的背景色为浅灰色// 显示 QLabel。

Lucy-Fintech社区

使用Process Monitor排查因dll库被锁定导致C++程序启动报“0xc0000022”错误问题

使用Process Monitor排查因dll库被锁定导致C++程序启动报“0xc0000022”错误问题

dvlinker

软件启动画面

合理地控制启动画面的显示和消失时机,避免影响整体性能。2. 错误处理:确保在出现异常或错误时能够正确关闭启动画面,防止程序卡死。3.

飘渺游侠
评论 7
收藏 已收藏
分享
返回顶部
xiangcun
Java SE 62,620 成员 307,251 内容