9.3 Swing

 一、Swing是建立在AWT之上的(参见1.2节“轻量组件与重量组件的比较”中对轻量组件与重量组件比较的讨论)、包括大多数轻量组件的组件集。除提供了AWT所缺少的、大量的附加组件外,Swing还提供了替代AWT重量组件的轻量组件。Swing还包括了一个使人印象深刻的、用于实现包含插入式界面样式等特性的图形用户界面的下层构件。因此,在不同的平台上,Swing组件都能保持组件的界面样式特性,如双缓冲、调试图形和文本编辑包等。

在java里用来设计GUI组件和容器有两种,一种是早期版本的AWT组件,在java.awt包里,这些组件都是Component类的子类,另一种是较新的Swing组件,在javax.swing包里,这些组件都是Jcomponent类的子类。

二、Jframe与Frame的功能相当,但两者在使用上还有很大的差别的。不可以直接在Jframe上增加子部件和设置布局管理器,而必须先调用Jframe.getContentPane()方法Jframe中自带的JrootPane对象,JrootPane是Jframe唯一的子组件,只能在这个JrootPane对象上增加子组件和设置布局管理器。

       在AWT中,我们必须自己完全来实现对话框界面和处理相关事件,Swing为我们提供了一个JOptinPane类, JOptinPane类提供了若干个showXXXDialog静态方法来帮我们完成这些功能。

       BoxLayout布局管理器是在Swing中新增加的一种布局管理器,它允许多个组件全部垂直摆放或全部水平摆放。嵌套组合使用多个BoxLayout布局管理器的Panel,可以帮我们实现类似GridBagLayout的功能,但要比直接使用GridBagLayout简单许多。

              通过AWT和Swing的学习,基本上二者是非常相关的,大同小异,因为Swing是比较新的,比AWT更加高级方便的组件库。所以在以后的开发中尽量使用Swing,也是为了和以后的程序的兼容性,同时也是为了使用的方便性,既然两种都可以实现相同的功能,我们何不选择最便捷的方法呢。我觉得我们以后要学会借鉴,这不是抄袭,这也是一种学习的策略,只要我们明白其中的道理,就没必要整天去敲那些已经非常完善的代码了,何必去浪费事件呢。就好像我们都大学生了,就没必要去算那些非常难算的算法了,可以借助其他的工具。

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值