黑马程序员_关于java GUI的学习
来源:互联网 发布:什么是风险软件 编辑:程序博客网 时间:2024/05/14 09:53
---------------------- android培训、java培训、期待与您交流! ---------------------
看完传智播客老师关于GUI的学习的一些总结:
创建图形化界面的一般步骤
1 创建frame窗面
2 对窗体进行设置。
3 定义组建
4 将组建通过窗体add方法添加到窗体中。、
5 让窗体显示通过setvisible(true)
事件监听的特点
1 事件源
2事件
3监听
4事件处理。
事件源 就是awt或者swing 包中的那些图形界面的组建
事件 每个事件都有自己特有的对应事件和共性事件。
监听器 将可以触发某一事件的动作(不只一个动作)都已近封装到了监听器中。
按钮就是事件源,那么选择监听器是一个问题,通过关不窗体事件了解,想要知道那个组建对象的功能,通过查阅button描述,发现该按钮持有特有的监听器。
下面是网上查阅的一些关于GUI的质料,和大家一起学习,分享:
JAVA中构成图形用户界面的元素称为组件(Component),Java程序要显示的GUI也是java.awt.Component或java.awt.MenuComponent的子类.组件分为容器类(Container)和非容器类,容器本身也是组件,也可以包括其它组件,非容器类种类较多,如Button,Label,TextComponent等~
窗口又分为顶层的和非顶层的两大类,顶层可以是独立的窗口,顶层容器的类是Window,它的重要的子类是Frame和 Dialog类.非顶层容器类包括Panel 及ScrollPane等.Panel的重要子类是Applet.其中Panel和Applet者是无边框的; ScrollPanel一组是可以自动处理流动操作的容器;Window,Frame,Dialog和FileDialog是一组大都含有边框的,并可以移动,放大,缩小,关闭的功能较强的容器.
现用实例说明一下Container的两个重要的子类:Frame和Panel:
import java.awt.*;
public class TestFrame {
public static void main(String args[]){
Frame f = new Frame("heheh");//窗口的名称
f.setSize(170,100);//窗口的大小
f.setBackground(Color.black);//窗口的背景着色
f.setVisible(true);//设置窗口为可见
}
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
import java.awt.*;
public class TestFrameWithPanel {
public static void main(String args[]){
Frame f = new Frame("heheheheh");
f.setSize(500,400);
f.setLocation(300,200);//设置将要显示的位置
f.setBackground(Color.blue);
Panel p = new Panel();
p.setSize(150,100);
p.setLocation(130, 50);
p.setBackground(Color.cyan);
Button b = new Button("OK");
b.setSize(80,20);
b.setLocation(80,50);
b.setBackground(Color.black);
f.setLayout(null);//不使用布局管理器
p.setLayout(null);
p.add(b);//填加到Frame上
f.add(p);
f.setVisible(true);
}
}
Swing类库和AWT(Abstract Windows Toolkit)可以用来编写视窗界面,AWT较为古老,Swing往AWT中添加了一些内容,生成了一个更丰富的集合
在事件编程中,要创建可以激发事件的对象,还要创建对对象进行响应的侦听器对象,你要编写一个自己永远也不会在任何程序中调用的方法定义
运行一个事件驱动程序时,接发生的事情取决于下一个事件
负责侦听窗口事件的侦听器被称为窗口侦听器,将侦听器与所侦听的对象进行关联的动作被称为注册侦听器
任何窗口侦听器通常都是WindowAdapter类的派生类
包含一条额外的import语句造成的效率损失是很少的,因此,不需要费力去使得import语句数量保持为最少
布局管理器管理添加到一个容器类中去的对象的排列方式
FlowLayoutBorderLayout GridLayout
AWT并没有被Swing取代,而AWT中已经有命名为Frame\Label\Button的类了,所以在Swing中,相应的类被命名为JFrame\JLabel\JButton
按钮激发的是动作事件,这些事件由动作侦听器来处理
不同类型的组件需要不同类型的侦听器来处理他们激发的事件
动作侦听器是一个ActionListener类型的对象,ActionListener不是一个类,而是接口
接口不是一个类,但它是一种类型,一个方法可以有一个ActionListener类型的参数,任意一个实现了ActionListener接口的类都可以作为那个方法的实参
对于一个复杂的Swing GUI,一般将外观与动作分开编程
JPanel对象可以将一些较小的对象,比如按钮和标签,组织成一个较大的组件,然后,通常会将JPanel对象添加到JFrame的内容面板中取。因此,JPanel对象的主要功能之一就是将JFrame分割成一些不同的区域
JFrame和JPanel类都是Container类的子孙,所以这两个类的子孙类都是容器类,可以向每个容器类中添加标签、按钮、面板等东西
可以向JTextField或JTextField输入比指定尺寸更多的文本,但多余的文本是不可见的
在一个Swing程序中,抛出一个未被捕获的异常并不会终止GUI,但会将GUI置于一种不可预测的状态
Java不要求在throws子句中声明RuntimeException类及其子孙类,但仍然可以捕获它们。NumberFormatException是RuntimeException类的子孙类
运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见的运行错误。Java编译器要求方法必须声明跑出可能发生的非运行时异常,但是并不要求必要声明跑出位被捕获的运行时异常。
----------------------- android培训、java培训、期待与您交流! ----------------------
- 黑马程序员_关于java GUI的学习
- 黑马程序员_关于GUI
- 黑马程序员_关于java异常机制的学习
- 黑马程序员_关于java 包的学习
- 黑马程序员_学习记录16:GUI
- 黑马程序员_总结10-java GUI
- 黑马程序员_关于String的学习
- 黑马程序员_关于集合的学习
- 黑马程序员_关于io的学习
- 黑马程序员--java学习之GUI
- 黑马程序员---java学习笔记之GUI
- 黑马程序员 java学习笔记 Day6:GUI
- 黑马程序员 Java基础学习之GUI
- 黑马程序员-Java学习13-GUI
- 黑马程序员——java学习--GUI
- 黑马程序员_图形界面GUI
- 黑马程序员 GUI学习
- 黑马程序员 Java GUI
- 信管专业续
- 局域网简介
- 国际化开发概述
- 视频14-15五色球任选三个不同颜色选法。根据理解编写。
- yaffs2应用到较老版本linux上时的问题 (移植日记)
- 黑马程序员_关于java GUI的学习
- 工信部专家关于终端操作系统的看法
- 回顾软考
- 什么是eHR
- 一些SQL命令(不断更新,我总记不住,哭)
- 哈工大操作系统试验4 信号量的实现和应用
- 第四章、现场编写类似strstr/strcpy/strpbrk的函数
- Tom小猫,让我看清你的五脏六腑1
- source insight使用总结