图形用户界面GUI


GUI: 1.  在java中,基于GUI的程序需要使用javax.swing包和java.awt包中的类才能执行
     2.AWT的类是使用原始的GUI对象来运行 
     3.swing包中提供的类加强了对各种操作系统的兼容性。在java中,
       对于不同的操作系统,这些类可以更加充分的发挥作用
     4.Swings类支持许多AWT中相似的类所不能支持的特性。
     5.SWT=Swing+AWT

有容器、组件用Swing,有颜色等用AWT

1.容器与组件

容器:
 首层容器可以放容器和组件,下层容器里可以放容器和组件,一层层往容器里放,容器一定要设置布局管理器
任何一个GUI有首层容器
 1. JWindow--(JFrame)
 2. Joptionpan:弹出框
 3. JApplet
组件:
 1. 标签:JLabel
 2. 文本框:JTextField
 3. 密码框:JPasswordField
 4. 下拉框:JComboBox
 5. 按钮:JButton
 6. 单选框:JRadioButton
 7. 复选框:JCheckBox
 8. 文本域:JTextArea
 9. 菜单:JMenu
 10. 菜单栏:JMenuBar
 11. 菜单项:JmenuTtem

2.布局管理与面板嵌套

布局管理器(layout)

1把界面分成五个部位:东(e)、西(w)、南(south)、北(north)、中(center)
 1. **边界布局(border)::JFrame在默认的情况下会自动选择边界布局管理器。适合放容器
 2. *流布局(Flow):位置:从左往右,从上到下由中间开始的顺序进行排放,
     效果:流布局更适合放组件
     大小:由组件里面的内容决定
    流布局主要适合一行组件的设置
 3. 网格布局(grid)
     按照行列的方式,在界面上划分空间,每个空间等大;
     如果划分空间不够,优先保证行不变,增加行
     作用:主要用来放置中间容器        

 4. **卡片布局(card) --中间面板

有效使用面板嵌套 1. 放置所有的GUI部件在一个JPanel中 2. JPanel默认是FlowLayout(流布局)

3.事件处理

 事件-event
委托事件模型
 1. 事件源对象
 2. 监听器对象{1. 绑定事件源与监听器;2.监听器有职责范围;
    3.一个事件源可以绑定多个不同范围的监听器;4.一个监听器也可以监听多个事件源;}
 好处
 1. 代码独立,各个类任务清晰
 2. 使用灵活,既可以为不同的事件源书写一个监听器,也可以书写各自的
 坏处
 1. 类的数量增加了,维护量增加了
 2. 如果要操作非事件源的容器和组件,必须传参。

 让容器类充当监听器
 好处
 1. 操作本容器的子容器和组件,不需传参
 坏处
 类的任务不明确;2.无法为不同的事件源书写各自的监听方法

 使用匿名内部类,在绑定的时候同时实现接口的重写
 好处
  1. 访问本容器的子容器和组件,不传参
  2. 可以为每个事件源书写各自的监听器
  3. 类的功能各自独立
 坏处
  1. 初学者代码比较难懂
  2. 

1.CardLayout特征: 1. 添加层的时候,第二参数是该层的别名,别名不能重复 2. 放置层顺序和add顺序有关,默认显示第一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值