Java GUI总结

AWT(Abstract Window Tookit),重量级,对系统依赖性较强。
Swing,轻量级,对系统依赖性较弱。
XWT ,Exclipse的图形界面形式。
布局管理器:
FlowLayout(流式布局管理器)
  从左到右的顺序排列。Panel默认的布局管理器。
BorderLayout(边界布局管理器)
 东、南、西、北、中。Frame默认的布局管理器。默认居中 。每个区域只能加入一个组件,如果加入多个则先前加入的组件会被遗弃。当窗口缩放时,按钮相应的位置不变化,但其大小改变。
GridLayout(网格布局管理器)
  规则的矩阵。用许多行和栏来创建管理程序,然后组件就填充到有管理程序规定的单元中。例如:new GridLayout(3,2)创建的有三行两栏的Grid布局能产生六个单元。Grid布局管理器总是忽略组件的最佳大小,所有单元的宽度和高度是相同的。
CardLayout(卡片布局管理器)
  选项卡。
GridBagLayout(网格包布局管理器,貌似多个网格合并成 一个)
  非规则的矩阵。

5.创建图形化界面的一般步骤:
1)创建frame窗体。
2)对窗体进行基本设置。
 比如大小,位置,布局。
3)定义组件。
4)将组件通过窗体的add方法添加到窗体中。
5)让窗体显示,通过setVisible(true)


6.事件监听机制的特点:
1)事件源。
2)事件。
3)监听器。
4)事件处理。

事件源:就是awt包或者swing包中的那些图形界面组件。
事件:每一个事件源都有自己特有的对应事件和共性事件。
监听器:将可以触发某一个事件的动作(不只一个动作)都已经封装到了监听器中。

以上三者,在java中都已经定义好了。
直接获取其对象来用就可以了。
我们要做的事情是,就是对产生的动作进行处理。

Container,它是Component的一个子类,而且包括两个主要的子类:Panel ,window
Window有两种形式:Frame(框架)和Dialog(对话框)。Frame和Dialog是Window的子类。Frame是一个带有标题和缩放角的窗口。对话框没有菜单条,尽管他能移动但不能缩放。
Panel是Java.awt.Panel的对象。Panel包含在另一容器中,或是在web浏览器的窗口中。Panel确定一个四边形,其他组件可以放入其中。Panel必须放在Window之中(或Window的子类中)以便能显示出来。容器不仅能容纳组件也能容纳容器。
因为布局管理器负责容器里的组件的位置和大小,因此不需要总是自己去设定组建的大小和位置。
如果必须控制组建的大小或位置,而是用标准布局管理器做不到,那就可能通过将下述方法调用发送到容器中来中止布局管理器:setLayout(null).做完这一步必须对所有的组件使用setLocation(),setSize()或setBounds(),来将它们定位在容器中。请注意,由于窗口系统和字体大小之间的不同,这种办法将导致从属于平台的布局。更好的途径是创建布局管理器的新子类。
Frames是window的子类,能以字符串规定的标题来创建不可见框架对象。能将BorderLayou当做缺省布局管理器。setLayout方式来改变缺省布局管理器。
框架类中的构造程序Frame( String )用由String规定的标题来创建一个新的不可见的框架对象。当它还处于不可见状态时,将所有组件添加到框架中。
Panel为组件提供空间,允许子面板拥有自己的布局管理器。以add方法添加组件。一旦一个面板对象被创建,为了能看得见,他必须添加到窗口或框架对象上。用Container类中的add()方式可以做到这一点。
如果想在组件之间创建一个更大的最小间隔,可以规定一个界限。
当用户对Flow布局管理的区域进行缩放时,布局就发生变化。
下面的例子就是如何用类容器的setLayout()方法来创建Flow布局对象并安装它们:setLayout(new FlowLayout(int align,int hgap, int vgap))。(align默认为居中对齐。hgap和vgap的默认值是5。)对齐的值必须是FlowLayout.LEFT,FlowLayout.RIGHT,或FlowLayout.CENTER。
例如:setLayout(new FlowLayout(FlowLayout.RIGHT,20,40)).   表示 右对齐,组件之间水平间距20个像素,竖直间距40个像素。
几个具有典型代表意义的事件:
类 对应事件 说明
MouseEvent 鼠标事件 鼠标按下,鼠标释放,鼠标点击
WindowEvent 窗口事件 点击关闭按钮,窗口得到与失去焦点,窗口最小化
ActionEvent 动作事件 不代表具体的动作,是一种语义,如按钮或菜单被鼠标单击,单行文本框中按下回车键等都可以看作是ActionEvent事件。
可以这么理解,如果用户的而一个动作导致了某个组件本身最基本的动作发生了,这就是ActionEvent事件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值