【java学习】GUI编程学习笔记(不定期更新)

GUI是Graphical User
Interface,是写程序做界面的技术。利用java做窗口界面涉及到两个包,一个是java.awt,一个是javax.swing,其中awt是sun公司初期推出的,被称为重量级组件,swing是后来推出的,功能更强大,被称为轻量级组件。

这是【java基础入门 清华大学出版社】中第九章GUI编程的目录和笔记。我无意抄书,只写个人理解。想学深入的,买书。
这本书对每个知识点都有例程和编译好的class文件,需要自取:

 链接:https://pan.baidu.com/s/1PsPdJDyCxpwh_1bMib5sGQ  提取码:v6dh

9.1 AWT概述

组件包括容器组件和其他组件。
容器:
frame 有标题栏的窗口
dialog 对话窗口
panel 存在于其他窗口中的矩形区域
其他:
Button 按钮
Label 标签
Checkbox 复选框
TextComponent 文本域

9.2 AWT事件处理

9.2.1 事件处理机制

为了响应事件(如单击鼠标,键盘输入),需要在代码中将写好的监听器注册到组件,当事件发生后被组件封装为一个事件对象传递给监听器,由监听器实现预定的功能。

9.2.2 事件适配器

监听器需要实现系统的监听器接口,为了省去实现方法的大量冗余代码,我们可以继承事件适配器,事件适配器实现了监听器接口,但方法中没写代码,继承以后重写方法再注册即可。

9.2.3 用匿名内部类实现事件处理

用匿名内部类可以在注册时就地new一个类,无需在类外定义一个类,减少冗余代码。

9.3 常用事件分类

包括:窗体事件、鼠标事件、动作事件、键盘事件。

9.3.1 窗体事件

//最小化窗口:
windowIconified...
windowDeactivated...
//取消最小化:
windowDeiconified...
windowActivated...
//关闭窗口:
windowClosing...
windowDeactivated...
windowClosed...

9.3.2 鼠标事件

mouseEntered—鼠标进入按钮区域事件
mousePressed-鼠标按下事件
mouseReleased-鼠标放开事件
mouseClicked-鼠标完成点击事件
mouseExited—鼠标移出按钮区域事件

9.3.3 键盘事件

按下与释放

9.3.4 动作事件

例如关闭,无论是键盘关闭还是鼠标关闭都是关闭动作。

9.4 布局管理器

9.4.1 FlowLayout

9.4.2 BorderLayout

9.4.3 GridLayout

9.4.4 GridBagLayout

9.4.5 CardLayout

9.4.6 不适用布局管理器

9.5 AWT绘图

9.6 Swing

9.6.1 JFrame

JFrame是主窗口,其他组件可以向里面添加,从而绘制出你喜欢的窗口。
JFrame的方法:

setBounds(x,y,width,height);
setSize(width,height);
setTitle("标题");
add(组件)
setVisiable(boolean);
setDefaultCloseOperation(JFrame.常量);
setLayout(null);//设置为null为自由布局,setBounds才能生效。

9.6.2 JDialog

9.6.3 中间容器

9.6.4 文本组件

9.6.5 按钮组件

JButton的方法:

setContentAreaFilled(boolean);//false为背景透明
setIcon(ImageIcon);//设置按钮为一个图片
setBorder(null);//null为无边框
addActionListener(new ...);//添加监听器
setBounds(x,y,width,height);//设置位置

9.7 本章小结

9.8 习题

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

农民真快落

我琢磨着也没人给我打赏呀。。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值