| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1329 人关注过本帖
标题:图片显示不出来问题
只看楼主 加入收藏
windizual
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:124
专家分:186
注 册:2009-7-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
图片显示不出来问题
这是我打的一个简单代码,但是运行结果只有JFrame那个框,看不到图片,请教下各位是怎么回事?
import java.awt.*;
import javax.swing.JFrame;

public class DrawImage1 {
    public static void main(String[] args) {
        JFrame f= new JFrame("draw image");
        Image img = f.getToolkit().getImage("a.gif");
        f.setSize(300,300);
        f.setVisible(true);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        
        f.getGraphics().drawImage(img, 0, 0, f);
    }
}
搜索更多相关主题的帖子: 图片 300 public import 
2009-07-28 17:03
王海洋
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2008-7-26
收藏
得分:0 
首先确定图片路径是否正确,你要放在和src(或者和包并列的文件夹下,(要放在工程下边)),
还要注意方法。在这里有两个
1:this.setIconImage(new ImageIcon("文件路径").getImage());
2:this.setIconImage(Toolkit.getDefaultToolkit().getImage("文件路径"));
2009-07-28 22:23
hwpayg
Rank: 2
等 级:论坛游民
帖 子:108
专家分:25
注 册:2008-4-3
收藏
得分:20 
应该是被覆盖了,你可以参考下java就业培训教材书上的例子,窗体会调用paint()方法,你的图像绘制后,窗体调用paint()方法从而将你的图像覆盖,所以看不到图像。方法是可以在paint()方法里面调用drawImage()方法

[[it] 本帖最后由 hwpayg 于 2009-7-29 08:45 编辑 [/it]]
2009-07-29 08:44
windizual
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:124
专家分:186
注 册:2009-7-1
收藏
得分:0 
回复 2楼 王海洋
我的图片文件是放在SRC的文件夹下的,还是用的绝对路径,所以这个应该没问题吧
我试了你给的那两个方法,还是只有那个窗体在,图片空白~~~~

Java要学的东西好多~~~~~
2009-07-29 11:01
windizual
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:124
专家分:186
注 册:2009-7-1
收藏
得分:0 
回复 3楼 hwpayg
额,这个一时没看明白,能不能给出具体的程序修改呢?谢谢了

Java要学的东西好多~~~~~
2009-07-29 11:05
pywepe
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:296
专家分:483
注 册:2009-4-5
收藏
得分:0 
回复 楼主 windizual
这样
    ImageIcon icon=new ImageIcon(new Image(当前类名.class.getClassLoader().getResource("images/icon.png"));

获得图片

java群
62635216
欢迎加入
2009-07-30 00:44
pywepe
Rank: 6Rank: 6
等 级:侠之大者
威 望:4
帖 子:296
专家分:483
注 册:2009-4-5
收藏
得分:0 
回复 楼主 windizual
也有可能

   你在JFrame上面放JPanel
      JFrame win=new JFrame();
      win.setBounds(10,10,100,100);
      JPanel panel=new JPanel();
      win.setLayout(null);
      win.getContentPane().add(panel);
      panel.setBounds(0,0,100,100);
      然后 往panel上加东西

java群
62635216
欢迎加入
2009-07-30 00:47
windizual
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:124
专家分:186
注 册:2009-7-1
收藏
得分:0 
回复 7楼 pywepe
很遗憾,还是老样子~~~~~只有框,没图片

Java要学的东西好多~~~~~
2009-07-30 14:22
hwpayg
Rank: 2
等 级:论坛游民
帖 子:108
专家分:25
注 册:2008-4-3
收藏
得分:0 
你可以下我说的那本书的电子书,你的问题他讲的很清楚
2009-07-30 14:34
windizual
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:124
专家分:186
注 册:2009-7-1
收藏
得分:0 
大致明白是什么回事了,
是因为图片被JFRAME覆盖住了
和调用方法没什么关系~~~~~
所以分数还是给三楼的吧
不过仍然很感谢大家的帮忙~~~~

Java要学的东西好多~~~~~
2009-07-30 15:20
快速回复:图片显示不出来问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023948 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved