该博客是关于Java GUI的学习,虽然对工作没啥用,但是学生有期末大作业.....
内容是对AWT基础总结,包括布局管理、监听事件等。
Java GUI入门手册:
AWT是基本的GUI设计工具,重点学习其中的布局格式以及事件监听事件。
首先创建一个窗口,我们先分析Frame类中的方法:
通过上图,可以看出frame是由构造方法的重载;可以选择的设置窗口的标题;
为了让一个基本的窗口显示,我们需要设置窗口的可见性;必须
为了美观,我们设置:
窗口大小
窗口颜色
生成窗口的初始位置在左上角,可以设置初始的弹出位置
问题:当我们在完成上述操作后,会出现一个窗口,但是我们无法手动关闭窗口,即点击右边的X是没有用的;
当我们完成单个窗口的实现后,会想一些骚操作!

经过上面的学习,我们基本掌握了GUI中基础的窗口设置;接下来解决窗口的关闭问题;
并且引入面板相关的概念。
一个界面只可以有一个Frame窗体组件,但是可以有多个Panel面板组件,而Panel上也可以使用FlowLayout,BorderLayout,GridLayout等各种布局管理器(后面涉及),这样可以组合使用,达到较为复杂的布局效果。
在使用 [Swing]向容器添加组件时,需要考虑组件的位置和大小。如果不使用布局管理器,则需要先在纸上画好各个组件的位置并计算组件间的距离,再向容器中添加。这样虽然能够灵活控制组件的位置,实现却非常麻烦。
为了加快开发速度,[Java]提供了一些布局管理器,它们可以将组件进行统一管理,这样开发人员就不需要考虑组件是否会重叠等问题。
流式布局(FlowLayout)
边框布局(BorderLayout) --东西南北中布局
表格布局(GridLayout)
AWT的事件处理机制是一种委派式事件处理方式:普通组件(事件源)将整个事件处理委托给特定的对象(事件监听器);当该事件源发生指定的事件时,就通知所委托的事件监听器,由事件监听器来处理这个事件。 每个组件均可以针对特定的事件指定一个或多个事件监听对象,每个事件监听器也可以监听一个或多个事件源.
简单来说,当用户触发某个条件或者事件的时候,处理代码将被自动运行,类似钩子一般。
效果:
注解:一般常见于Java 的awt, swing的事件处理里面,e是指一个事件,如ActionEvent,MouseMoveEvent等,它有一个事件发起者,用e.getSource()可以获得,但getSource()返回的是Object类型(保持方法的通用性),所以如果已经知道是按钮产生的事件,可以用(JButton)e.getSourse()强制转换成JButton对象,这样就可以用JButton对象的方法了
基础写法:(面向过程的)
实现效果:
升级版:(面向对象)+组合概念
高级写法:(内部类) 内部类最大的好处是:能够畅通无阻的访问外部类
设置了画笔颜色:
初始画笔:
目的:实现鼠标画画--》最简单的点击
效果图: