问题描述
publicclassloginextendsJFrame{staticintWIDTH=300;staticintHEIGHT=300;StringimgUrl=null;privatestaticToolkittk=Toolkit.getDefaultToolkit();privatestaticImageimgs=tk.getImage(login.class.getClassLoader().getResource("images/11.jpg"));publicstaticvoidmain(String[]args){newlogin().lauchframe();}publicvoidlauchframe(){this.setTitle("登錄");this.setLocation(400,200);this.setResizable(false);this.setSize(WIDTH,HEIGHT);this.setVisible(true);}publicvoidpaint(Graphicsg){g.drawImage(imgs,70,50,null);}}
解决方案
解决方案二:
首先看看你的这个图片资源有没有加载成功!如果成功加载的还不能显示的话,你再将显示的窗体拖出电脑显示屏幕范围外,再拉回来应该就能显示了(这个代码我运行了一下,就算图片加载成功,第一次显示窗体时确实不能显示图片)
解决方案三:
引用1楼u010005508的回复:
首先看看你的这个图片资源有没有加载成功!如果成功加载的还不能显示的话,你再将显示的窗体拖出电脑显示屏幕范围外,再拉回来应该就能显示了(这个代码我运行了一下,就算图片加载成功,第一次显示窗体时确实不能显示图片)
為什麼要重新拉回來才能顯示啊?
解决方案四:
可以把imgage放在imageicon类里,然后用getimage()加载,我看过一个视频,里面似乎说过你这种方法加载图片第一次就是不会显示的,再运行一次就行了,这个好像是java的一个bug
解决方案五:
這樣確實是可以,只是想不明白為什麼上面的不行.
解决方案六:
publicvoidpaint(Graphicsg){g.drawImage(imgs,70,50,null);}改为publicvoidpaint(Graphicsg){g.drawImage(imgs,0,0,70,50,this);}