设置JFrame的图标无须很复杂阿,一句代码就可
在扩展JFrame的class中的init()方法内添上下面一句就可:
this.setIconImage(Toolkit.getDefaultToolkit().createImage(YourFrameClassName.class.getResource("icon.gif")));
YourFrameClassName为这个jFrame所在java文件名,其中icon.gif是你要用来做图标的图形文件,一般是32×32大小,程序中若有这句,将之替代即可

解决方案 »

  1.   

    btw:将图片放在你这个class的同一目录下,那么就不必要写上绝对路径了
    况且java中的路径名是//…//…或者\…\…,所以你的路径("file:///D:/T1.gif"));是错误的。
      

  2.   

    不可能
    你试着运行下面的程序,什么都不要改动(添加package等除外),将此存为Test.java文件,和一个名字为icon的gif文件放在同一目录下运行看看
    我都测试过了,肯定没有问题
    你注意一下几点:
    this.setIconImage(Toolkit.getDefaultToolkit().createImage(Test.class.getResource("icon.gif")));
    这段代码是否正确,比如Test为java文件名等,icon文件是否存在,名字是否正确,两者是否在同一目录下面等import javax.swing.*;
    import javax.swing.event.*;
    import java.awt.*;
    import java.awt.event.*;
    public class Test extends JFrame {
      private String tableName;
      private String query;
      private int use;
      public static void main(String[] args) {
        Test test = new Test();
        test.show();
      }
      public Test() {
        addWindowListener(new WindowAdapter() {
          public void windowClosing(WindowEvent e) {
            System.exit(0);
          }
        } );
        try {
          jbInit();
        }
        catch(Exception e) {
          e.printStackTrace();
        }
      }
      private void jbInit() throws Exception {
        this.setIconImage(Toolkit.getDefaultToolkit().createImage(Test.class.getResource("icon.gif")));
        this.setTitle(" 欢迎");
        this.setSize(new Dimension(530, 385));
      }
    }