在swing技术,JScrollPane和标签组件与图标这些程序中设计出来的窗体只能够现实窗体不能现实里面的内容,用鼠标拖动设计出来的窗体大小才能够现实出来内容,而把设置窗体的关闭方式和设置窗体的大小去掉,加一句:pack();就能够直接现实窗体里的内容,这是怎么一回事?pack();又是什么意思?干什么的呢?
在设计窗体的标签组件和图标时,在编译器中没有报错,而运行时却报错,报错内容是:at javax.swing.ImageIcon.<init>(Unknown Source)  这是怎么一回事啊?java swingjava swing,标签,图标

解决方案 »

  1.   

    关于pack()方法 
    在 Frame 类中有一个从类 java.awt.Window 继承的方法 pack() 
    show() 同样也继承自 java.awt.Window public void pack() 
    调整此窗口的大小,以适合其子组件的首选大小和布局。如果该窗口和/或其所有者仍不可显示,则两者在计算首选大小之前变得可显示。在计算首选大小之后,将会验证该 Window。 public void show() 
    已过时。 从 JDK 5 开始,由 Component.setVisible(boolean) 取代。 
    覆盖: 
    类 Component 中的 show 
    如果是容器,会把多余的空间删掉。比如你ArrayList占用的空间是32,实际只放了十个对象,调用pack以后就会吧多余的空间归还了。
      

  2.   

    哦,原来是这样,那他里面也没有窗体的关闭模式,它的关闭模式又是哪一种呢?还有个问题就是如果不用pack();自己给他设置窗体的大小的话,为什么在某些程序中只显示窗体而不显示窗体里的内容,只有用鼠标拖动窗口的大小后它才能够显示呢?
      

  3.   


    把代码贴出来看一下吧不好意思啊,我一直用的是手机,不方便贴源码,我把那个问题弄懂了,因为是添加图标,我把那个图标只放在了src里面,而lib里面没放,所以才出现那样的问题,谢谢你。