JButton jb=new JButton();
jb.setIcon(new ImageIcon("image/1.jpg"));
是不是就这么两句话... 奇怪了.. 就是显示不出来 图片肯定没问题 后缀也为.jpg 路径也没错...
如果用getClass().getResource("image/1.gif"))... 这个值是null... 不明白什么意思 急啊!!!

解决方案 »

  1.   

    jb.setIcon(new   ImageIcon( "image\\1.jpg "));
      

  2.   

    直接构造函数传一个IMAGEICON的实例对象就行了
      

  3.   

    写路径的时候用\\表示\,因为\为java中的转义字符,不能直接使用,必需用\\
      

  4.   

    "image\\1.jpg   "这个路径是绝对路径是什么啊?
    我不知道把图片应该放在哪里!
    点拨一下!
      

  5.   

    执行程序所在目录下的image文件夹下
      

  6.   

    你可以把图片放在你.class文件所在的地方,调用的时候只要写上图片名字就可以
    也可以放在其他任何地方,不过你必须写好路径,写路径时就按楼上说的
      

  7.   

    还是不行!!! 路径应该没问题了 getClass().getResource( "1.jpg"))     println()了一下 发现不是null了 是file:/C:/1.jpg 是我图片的路径. 我又试了下 如果把1.jpg改成一个不存在的图片名 getClass().getResource( "1.jpg"))就会为null
    但是问题还是存在 图片依然是上不去JButton   但是运行后会在按钮中间会出现一个黑点.... 大概就一象素吧..... 没有用setIcon()的按钮没这黑点... 这是为什么 别人往上加图片好象没这么麻烦啊
      

  8.   

    是不是按钮尺寸太小了,图片上不去???
    还有就是我印象中有个图像填充的方法设置图像显示像素,你可以查下API文档
      

  9.   

    \\和/在JAVA中是等价的!!!  用/这个符号可以跨平台,如果是\\就只能在WINDOWS中运行了
      

  10.   

    我刚刚做过
    JButton jb=new JButton(new ImageIcon("image/1.gif")
    就行了
      

  11.   

    还可以是这样的
    已经实现了
    JButton b;
    Icon icon=new ImageIcon("images/1.gif");
    b=new JButton(icon);
      

  12.   

    不是闹鬼了吧.... 还是我机器JDK有毛病... 怎么弄都只是一个点.... 似乎没人用到过设置像素的函数也能显示图片啊。
    11楼说的我也试过 一样是一个点..... 
    大家帮忙看看这段程序在你们机器上运行有问题不
    import java.awt.*;
    import javax.swing.*;public class buttonicon extends JFrame
    {private JButton jb = new JButton();
    public buttonicon()
    {
    jb.setIcon(new ImageIcon(getClass().getResource("1.jpg")));
    Container cp = getContentPane();
    cp.setLayout(new FlowLayout());
    cp.add(jb);
    }
    public static void main(String[] args)
    {
    buttonicon bi = new buttonicon();
    bi.setSize(300, 300);
    bi.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    bi.setVisible(true);
    }
    }
      

  13.   

    看来是JDK.... 朋友机器上没问题.....
    我重新安了
    谢谢大家... 虽然只有20分.....