AWT与Swing的学习笔记

AWT部分

AWT (Abstract Window Toolkit),可用于Applet和application
功能:
用户界面组
事件处理模型
图形图像工具(形状,颜色,字体)
布局管理器,可以进行灵活的窗口布局而与特定窗口的尺寸和屏幕分辨率无关
数据传送(剪贴和复制)

类和接口:
AWTEvent
Font
Componet--Container--(Panel--Applet;Window--Frame)
Graphics
MenuComponent
布局管理类

FlowLayout 一行接一行,是Panel,Applet的缺省布局(Panel无法单独显示,必须加入某个容器)
BoradLayout 东南西北中,是Window,Frame,Dialog的缺省布局,Frame是顶级窗口
GridLayout 格,行列,平均占据容器的空间,一个构件只能在一格
CardLayout 牌,最上边能看见
GridBagLayout 实用,可以占任意个行列
Frame.pack();紧凑排列,

import java.awt.event.*
XXX.addActionListener(new ButtonHandler());
class ButtonHandler implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
.......do something
}
}
同一个监听器可以监听两个按钮:
通过e.getActionCommand()返回值判断按下了哪个按钮

事件类别         描述信息           接口名          方法

ActionEvent  激活组件           ActionListener  actionPerformed(ActionEvent)
ItemEvent        选择某些项目(比如,复选框
。。。。还有很多个

事件适配器,为一些Listener接口(可能有多个方法)提供了适配器Adapter类。
通过继承事件所对应的Adapter类,只需要重写需要的类;

AWT组件库:Button,Checkbox,CheckboxGroup,Choice(下拉式),Canvas画布,创建自定义组件,TextField(单行文本输入),TextArea,List,Frame,Dialog,Filedialog,Menu(只能在MenuBar容器中),MenuBar(只能添加到Frame中) 

 

Swing部分

AWT重量级,与具体平台相关,
Swing轻量级,在不同的平台上表现一致,并有能力提供本地窗口系统不支持的其他特性,纯java,没有本地代码采用MVC模式
import javax.swing.*

类层次结构(两个类型的组件):
顶层容器(JFrame,JApplet,JDialog,JWindow);注:一般以J开头,J*****
轻量级组件

Swing组件都是AWT的Container类的直接子类或者间接;

组件除了可以使用文字,还可以使用图标修饰自己;

swing开发流程:
1,引入Swing包
2,选择“外观和感觉”
3,设置顶层容器
4,设置按钮和标签
5,向容器中添加组件
6,在组件周围添加边界
7,事件处理


组件从功能上分:
顶层容器(JFrame,JApplet,JDialog,JWindow)
中间容器Panel,JScroll,JSplitPane,JToolBar
特殊容器JInternalFrame,JLayeredPane,JRootPane
基本控件,实现人机交互的组件:JButton,JComboBox,JList,JMenu,JSlider,JtextField;
不可编辑信息的显示:JLabel,JProgressBar,ToolTip;
可编辑信息的显示:JColorChooser,JFileChoose,JFileChooser,Jtable,JtextArea


JComponent默认双缓冲,提示信息,setToolTips()

与AWT组件不同,Swing组件不能直接添加到顶层容器中,它必须添加到一个与Swing顶层容器相关联的内容面板上,内容面板是顶层容器包含的一个普通容器,它是一个轻量级组件,基本规则:
把Swing组件放入一个顶层Swing容器的内容面板上
(方法一:frame.getContentPane().add(childComponent));
方法二: 建立一个JPanel或者JDesktopPane之类的中间容器,把组件添加到容器中,用setContentPane()
避免使用非Swing的重量级组件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值