import javax.swing.*;
import java.awt.*;
public class mainFrame extends JFrame{
  public mainFrame(String sTitle,int iWidth,int iHeight){
    Dimension dim=Toolkit.getDefaultToolkit().getScreenSize();
    ImageIcon ii=new ImageIcon("images/20.gif");
    setTitle(sTitle);
    setIconImage(ii.getImage());
    setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    setSize(iWidth,iHeight);
    int w=getSize().width;
    int h=getSize().height;
    System.out.println("窗体宽:"+w+" 窗体高:"+h);
    int x=(dim.width-w)/2;
    int y=(dim.height-h)/2;
    setLocation(x,y);
    setVisible(true);
  }
  public static void main(String[] args){
    JFrame.setDefaultLookAndFeelDecorated(true);
    mainFrame mF=new mainFrame("main Frame Demo",400,300);
  }
}
此程序能运行,但是显示不出窗口来。

解决方案 »

  1.   

    import javax.swing.*;
    import java.awt.*;
    public class mainFrame extends JFrame{
      public mainFrame(String sTitle,int iWidth,int iHeight){
        Dimension dim=Toolkit.getDefaultToolkit().getScreenSize();
        ImageIcon ii=new ImageIcon("images/20.gif");
        setTitle(sTitle);
        setIconImage(ii.getImage());
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        setSize(iWidth,iHeight);
        int w=getSize().width;
        int h=getSize().height;
        System.out.println("窗体宽:"+w+" 窗体高:"+h);
        int x=(dim.width-w)/2;
        int y=(dim.height-h)/2;
        setLocation(x,y);
        //setVisible(true);
      }
      public static void main(String[] args){
        JFrame.setDefaultLookAndFeelDecorated(true);
        mainFrame mF=new mainFrame("main Frame Demo",400,300);
        mF.setVisible(true);
      }
    }
      

  2.   

    你试一试  mF.show(); 加在main()方法中最后
      

  3.   

    anhy(鎏) 
    能解释下原因吗?
      

  4.   

    import javax.swing.*;
    import java.awt.*;
    public class mainFrame extends JFrame{
      public mainFrame(String sTitle,int iWidth,int iHeight){
        Dimension dim=Toolkit.getDefaultToolkit().getScreenSize();
        ImageIcon ii=new ImageIcon("images/20.gif");
        setTitle(sTitle);
        setIconImage(ii.getImage());
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        setSize(iWidth,iHeight);
        int w=getSize().width;
        int h=getSize().height;
        System.out.println("窗体宽:"+w+" 窗体高:"+h);
        int x=(dim.width-w)/2;
        int y=(dim.height-h)/2;
        setLocation(x,y);
        setVisible(true);
      }
      public static void main(String[] args){
        JFrame.setDefaultLookAndFeelDecorated(true);
        mainFrame mF=new mainFrame("main Frame Demo",400,300);
            //缺少mF.show();或者mF.setVisible(true);
      }
    }
      

  5.   

    虽然得到了这么多热心人的帮助,但是,我把所有的方案都试了,还是不行。但是,当我把ImageIcon ii=new ImageIcon("20.gif");和setIconImage(ii.getImage());删除了之后,就可以显示出来了。但是,这两个句子没什么错啊。图片的路径也对,它和文件在一个目录下。这是怎么回事呢,还得请大家帮忙啊。
      

  6.   

    import javax.swing.*;
    import java.awt.*;
    public class mainFrame extends JFrame{  public mainFrame(String sTitle,int iWidth,int iHeight){
        Dimension dim=Toolkit.getDefaultToolkit().getScreenSize();
        ImageIcon ii=new ImageIcon("images/middle.gif");
        setTitle(sTitle);
        setIconImage(ii.getImage());
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        setSize(iWidth,iHeight);
        int w=getSize().width;
        int h=getSize().height;
        System.out.println("窗体宽:"+w+" 窗体高:"+h);
        int x=(dim.width-w)/2;
        int y=(dim.height-h)/2;
        setLocation(x,y);
        setVisible(true);
      }
      public static void main(String[] args){
        JFrame.setDefaultLookAndFeelDecorated(true);
        mainFrame mF=new mainFrame("main Frame Demo",400,300);
        
      }
    }
    这个问题解决了。