|
哇,想不到這么晚了,不管了,先寫完了再睡吧,不記下來,明天忘了怎么辦?
晚上,把計算器修改完畢,總算有個樣子,就想著發(fā)表出去,好讓大家給看看有什么毛病,那么就得打包成jar文件發(fā)出去羅,今天課堂上才講了怎么打包,我試試……
結(jié)果,遇到一點(diǎn)小麻煩,計算器窗體上的圖標(biāo)所用的資源文件kcalc.gif應(yīng)該擱哪兒里,我怎么在程序中調(diào)用哩?
剛開始寫程序的時候我是用的:
this.setIconImage(Toolkit.getDefaultToolkit().createImage("kcalc.gif"));
在未打包前,運(yùn)行沒問題,可是打包成jar文件后,將這個jar文件放別處運(yùn)行就看不到窗體圖標(biāo)了,這是怎么回事?
記得上機(jī)時有同學(xué)問老師的,嗯,趕緊聯(lián)系同學(xué)問問,然后依樣畫葫蘆,就寫成了這樣:
this.setIconImage(Toolkit.getDefaultToolkit().createImage(Calculator.class.getResource("jb/kcalc.gif")));
結(jié)果編譯沒問題,運(yùn)行時卻報“空指針異?!保@是怎么回事?怎么在他那里行得通的代碼,在我這里行不通了哩?
查DOC文檔,終于明白了,原來Calculator.class.getResource()是利用反射機(jī)制,返回當(dāng)前調(diào)用類中所指文件的URL地址,我給的參數(shù)是“jb/kcalc.gif”,而實(shí)際上當(dāng)前類的URL路徑已經(jīng)是..jb了,再去找“jb/kcalc.gif”當(dāng)然找不到,返回為null,所以會報“空指針異?!?。那么,現(xiàn)在我改為:
this.setIconImage(Toolkit.getDefaultToolkit().createImage(Calculator.class.getResource("kcalc.gif")));
打包,運(yùn)行,嘿嘿,果然如此!
看來方法不能生搬硬套,得弄明白了,才能做得明白呀!
2005年11月9日,開始我的博客生活。
很有趣,看新聞才知道原來今天是“世界消防日”,選擇今天開始寫博客也不錯,
有個好記的紀(jì)念日哩?。?IMG height=20 src="/Emoticons/QQ/07.gif" width=20 border=0>說得好象將來我要成為什么大人物似的,呵呵,還要有個紀(jì)念日)
博客——以前只看過人家的,很漂亮那種。我的,
將來在人家眼里會是什么樣?
不想知道?,F(xiàn)在嘛,
就把這里做為我的java驛站吧!放些資料呀、讀書
得呀、學(xué)習(xí)筆記什么的,對了,還有我的
小習(xí)作。與人一起分享,是一件非??鞓返氖?IMG height=20 src="/Emoticons/QQ/45.gif" width=20 border=0>。希望這里成為我的快樂源泉
。
好了,今天就寫這么多吧?。ㄒ呀?jīng)很晚了,......
)