一.AWT(abstract window toolkit)
1.用于java application GUI编程
2.GUI的各中元素(如:窗口、按钮、文本框等)由java类来实现
3.awt涉及的类在java.awt包及其子包中
awt是旧的图形开发包,因为虽说是跨平台但在各操作系统上的图形表示有区别
swing是新的图形开发包,其包下的类大都是对awt的类重写,名字多以J开头,如JFrame
4.Container和awt中的两个核心类
5.说明图
二.Component&Container
1.java的图形用户界面基本的组成部分是Component
2.一般的Component对象不能独立的显示,必须放到Container对象中才可显示
3.Container可以容纳Component,因为Container同时也是Component,所以Container也可以容纳Container.
4.Container使用add(..)方法添加Component
5.常用的两种Container:
Window:作为顶级窗口独立存在
Panel:可容纳其他Component,但必须被添加到其他窗口(Window或Applet)才能显示.
Frame:
1.Frame是Window的子类,由Frame或其子类创建的对象为一个窗体
2.Frame的构造方法
Frame()
Frame(String s)创建标题栏为字符串s的窗口
3.其他方法
setBounds(int x,int y, int width,int height)//位置和大小
setSize(int width,int height)//大小
setLocation(int x,int y)//位置
setBackground(Color c)//背景颜色.Color类有很多常量可以使用,(x,y,z)表示颜色红绿蓝分量
setVisible(boolean b)//是否可见
setTitle(String name) String getTitle()//标题
setResizable(boolean b)//是否可调整大小
练习1:创建一个Frame对象,并给它赋值
练习2:继承一个Frame的新类,要求一个静态变量统计创建的对象数目,以及其构造函数可以接收多个参数来初始化这个对象,一次显示四个对象
Panel:
1.可以容纳Component
2.可以拥有自己的布局管理器
3.构造方法
Panel()默认的的布局管理器是FlowLayout
Panel(LayoutManager mgr)//指定布局管理器来初始化
4.从父类继承的方法
setBounds(int x,int y, int width,int height)
setSize(int width,int height)
setLocation(int x,int y)
setBackground(Color c)
setLayout(LayoutManager mgr)//指定布局管理器
练习1:将一个Panel添加到Frame中,注意一下Panel的位置
练习2:将四个Panel添加到Frame中,用颜色来区分,排成两行两列
三.布局管理器
1.布局管理器可以管理Component在Container中的布局,不必直接设置Component的位置和大小
2.每个Container都有一个布局管理器对象,当容器需要对某个组件进行定温或判断其大小尺寸时,就会调用其对应的布局管理器,调用Container的setLayout方法改变布局管理器对象
3.常见的五种布局管理器(实现LayoutManager)
(1)FlowLayout
不改变组件大小,按组件原有尺寸显示组件,可设置不同组件间距,行距以及对齐方式
是Panel类的默认布局管理器,默认对其方式为居中
对组件逐行定温,行内从左到右,一行排满后换行
构造方法:
new FlowLayout(FlowLayout.Right,20,40)//设置对齐方式、水平和垂直间距
new FlowLayout(FlowLayout.Right)//默认水平和垂直间距为5像素
new FlowLayout()//默认居中的对齐方式,水平和垂直间距为5像素
(2)BorderLayout
将整个容器分"东西南北中"五个区域,"南北"在水平方向伸缩,"东西"在垂直方向伸缩,"中"可向水平和垂直方向伸缩
是Frame类的默认布局管理器
如果不指定组件添加到哪个区域,则默认加入到"中"区
每个区域只能加入一个组件,如果多加则先前加入的会被覆盖
(3)GridLayout
将空间划分成规则的矩形网格,每个单元的区域大小都一样。
组件被添加到每个单元格中,先中左到右,再从上到下
构造方法:
GridLayout(3,4)
(4)CardLayout
(5)GridBagLayout
四.事件监听
1.Listener
事件模型在awt、swing、jsf和webWork上都有应用
事件模型的原理与钩子函数、回调函数类似
2.Adapter
对于的监听器,也有对应的适配器
使用适配器可以避免监听器类定义没有必要实现的空方法
五.JAVA图形
1.TextField、Label、Button
学习一个类,办法是写一个测试类测试属性和方法
练习:编写一个运算器,按"="按钮将两个文本框的值相加,然后显示到第三个文本框,分别使用门面模式或内部类实现监听器接口
门面模式:通过一个类的引用可以取得该类的属性和方法
2.Graphics
每个Component都有一个paint(Graphics g)实现绘图目的,每次重画该Component时都自动调用paint方法
repaint--调用-->update()--调用--paint()
Graphics类中提供了许多绘图方法,如:
drawRect(int x,int y,int width,int height)
fillRoundRect(int x,int y,int width,int height)
六window事件
事件-事件监听器-事件监听器的命名:XxxEvent-XxxListener-XxxAdapter
MouseEvent-MouseListener-MouseAdapter
WindowEvent-WindowListener-WindowAdapter
练习:测试键盘事件
七内部类:
内部类分成员内部类(作为包装类的成员变量)和匿名类(位于方法参数,例如关闭窗口等执行一次的操作)
非常方便的访问包装类的成员变量或成员方法
不允许或不需要其他类进行访问
当一个类需要实现两个接口,而这两个接口有同样的方法需要实现,则可以在类添加一个内部类来实现不同的接口
分享到:
相关推荐
以下是对标题“javaSE经典笔记( 完整)”和描述中涉及的Java SE主要知识点的详细阐述: 1. **Java基础**:这是学习Java的第一步,包括Java语言的基本语法,如数据类型(基本类型和引用类型)、变量、运算符、流程...
Java SE基础笔记主要聚焦在GUI(图形用户界面)部分,这一领域是开发具有交互性桌面应用的核心技术。GUI允许用户通过视觉元素与程序进行交互,如按钮、文本框、菜单等。在这里,我们主要探讨Java如何构建GUI以及相关...
这份"JavaSE笔记_工具.zip"压缩包文件显然包含了关于JavaSE学习的重要笔记和可能的辅助工具,旨在帮助学习者从面向对象编程的基础到面向过程编程的转换。 面向对象编程(Object-Oriented Programming,OOP)是...
### JAVASE学习笔记 #### 一、Java概述与版本介绍 **1.1 Java的三个版本** - **JavaSE (Standard Edition)**: 标准版,主要用于桌面应用程序的开发。 - **JavaEE (Enterprise Edition)**: 企业版,专为大型企业级...
在达内2011年的JavaSE笔记中,涵盖了Java的基础到进阶的知识点,对于自学者来说是非常宝贵的资源。 首先,Java的特点包括平台无关性(通过Java虚拟机JVM实现),自动内存管理(垃圾回收机制),以及丰富的类库支持...
客户端通常使用Java SE提供的GUI工具包,如AWT(AWT, Abstract Window Toolkit)和Swing来构建用户界面。 #### 二、JDK的安装与配置 ##### JDK简介 JDK (Java Development Kit) 是Java开发工具包,包含了编译、运行...
最后,JavaSE还包括了JavaFX,一个用于构建桌面GUI应用的库。了解如何使用Scene、Node、Controller等组件构建用户界面,以及CSS样式和动画效果,能够创建美观且交互性强的应用。 总的来说,这份"JavaSE notes,笔记...
这份"javase全套笔记"包含了从基础到进阶的全方位Java编程知识,是学习和掌握Java编程的重要资源。以下是对笔记中可能涵盖的主要知识点的详细阐述: 1. **Java语言基础**:这部分内容通常包括Java的历史、特点、...
13、JavaSE:Gui编程 14、JavaSE:注解和反射 15、MySQL和JDBC 16、前端:Html5 17、前端:CSS3 18、前端:JavaScript、jQuery 19、JavaWeb 20、MyBatis 21、Spring 22、SpringMVC 23、大前端串讲 24、Vue精讲 25、...
JavaSE6学习笔记是针对Java初学者和进阶者的一份宝贵资料,由知名讲师李兴华的培训课堂笔记汇编而成。这份笔记全面、详细地涵盖了Java SE 6版本的核心概念和技术,对于理解Java编程语言的基础以及进阶特性具有重要...
### JavaSE内部学习笔记知识点概览 #### 一、Java语言概述 - **1.1 基础常识** - **软件分类**:软件分为系统软件和应用软件两大类。系统软件支持计算机硬件正常工作,包括操作系统、设备驱动程序等;应用软件则...
这份"javaSE学习用的PPT"集合提供了全面的学习资源,尤其适合初学者入门。以下将根据压缩包内的文件名,逐一解析其中涉及的Java SE知识点。 1. **100道选择题.doc**:这可能是100个关于Java基础知识的选择题,涵盖...
然而,由于AWT和Swing在Windows环境下表现不佳,且需要大量内存,它们逐渐被JavaFX等现代GUI框架所取代。 Java的特点包括跨平台性(通过JVM实现),简单性(相比C++等语言),动态性(如JavaScript),面向对象性,...
### 传智播客Java SE基础毕向东老师全程笔记知识点概览 #### 第一章:编程基础 **Java的特性和优势:** - **简单性:** Java的设计初衷是为了简化编程,减少编码负担。 - **面向对象:** Java是完全面向对象的语言...
10. GUI编程、网络编程、反射机制和正则表达式:这些高级主题也是JavaSE中不可或缺的部分,为构建图形用户界面、实现网络通信和开发动态应用提供了工具和方法。 11. 其他技术:笔记中还提到了HTML、CSS和JavaScript...
总结来说,"JavaSE html+CSS基础笔记归纳.zip" 包含的内容是JavaSE的基础知识,HTML和CSS的网页设计,MySQL数据库的使用,以及Java面试的常见问题。对于初学者或复习者来说,这些资料可以帮助巩固基础,提升技能,并...
适合JAVASE初学者