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 取代。