当前位置: 代码迷 >> J2SE >> dispose()和setVisible()把界面如何了?手写代码和机写的界面效果为什么有差异
  详细解决方案

dispose()和setVisible()把界面如何了?手写代码和机写的界面效果为什么有差异

热度:194   发布时间:2016-04-24 14:08:29.0
dispose()和setVisible()把界面怎么了??手写代码和机写的界面效果为什么有差异?
dispose()和setVisible()把界面怎么了?

手写代码和机写的界面效果为什么有差异?
用手写出来的代码,在界面上的按钮和MenuBar等样子都比较圆滑,比较好看
但是用JBuilder的UI设计界面弄出来一样布局的界面,那些按钮和手写出来的是不一样的..............

这个是为什么,机器写好象没有层次感...............(UI界面)

------解决方案--------------------
disponse()方法可以把该方法所对应的窗口所占用的内存完全销毁,也就是将该窗口从内存中销毁
setVisible()方法只是设置窗口的隐藏与显示而已,并不从内存中将该窗口销毁
------解决方案--------------------
setVisible()方法并没有销毁窗体
再次setVisible(true)又能显示窗体了

disponse()直接销毁窗体

拿文件系统来比喻,就是一个是隐藏文件,一个是删除文件,懂了没

JAVA的UT界面是通过LOOKANDFEEL做的,你可以去网上下载不同的皮肤
BORLAND有个皮肤很好看
------解决方案--------------------
自己查查 API 帮助就可以解决的。

java.awt.Window.dispose() 的 API

释放由此 Window、其子组件及其拥有的所有子组件所使用的所有本机屏幕资源。即这些 Component 的资源将被破坏,它们使用的所有内存都将返回到操作系统,并将它们标记为不可显示。

通过随后对 pack 或 show 的调用重新构造本机资源,可以再次显示 Window 及其子组件。重新创建的 Window 及其子组件的状态在移除 Window 的点上与这些对象的状态将是一样的(不考虑这些操作之间的其他更改)。

========================

也就是说 dispose 用于销毁,而 pack 或 show 又可以把它们找回来。以上的 show 方法从 JDK 1.5 被 setVisible 取代。