黑马程序员-Java基础总结12——GUI编程

时间:2023-02-26 21:02:03

Java基础总结12——GUI编程

-------android培训java培训、期待与您交流!----------


内容:  GUI工具体系(功能组件)、布局管理器、事件监听机制、Matisse Form(GUI画布)


一、基本概述:

GUI   :Graphical User Interface(图形用户接口)

用图形的方式,来显示计算机操作的界面,这样更方便更直观。

CLI   :Command line User Interface (命令行用户接口)

即常见的Dos命令行操作,需要记忆一些常用的命令,操作不直观。

举例:创建文件夹(md)、删除文件夹(rd),而删除文件(del)

 

Java开发GUI工具:

JavaGUI提供的对象都存在java.Awtjavax.Swing两个包中。

java.Awt  :Abstract Window ToolKit (抽象窗口工具包)需要调用本地系统方法实现功能。属重量级控件

javax.Swing :AWT的基础上,建立的一套图形界面系统,其中提供了更多的组件,而且完全由Java实现增强了移植性,属轻量级控件


二、GUI工具体系:

1Awt组件体系:(Swing基本上与Awt类似,功能类似而名称稍有差异)

功能体系简概:

黑马程序员-Java基础总结12——GUI编程

Component:构件、组件:

1、Container(容器/控件,可添加其他组件,通过add方法)   

      Window窗口     Panel面板

Frame框架  Dialog对话框

            FileDialog文件对话框


2、功能组件:

Button按钮;

Label标签(封装文字的小框格)

Checkbox复选框(即多选框,即是否打钩那种)

        TextComponent文本组件;

TextArea文本区域   TextFileld文本框(单行)


PS: Container常用子类:Window  Panel(面板,不能单独存在)。

Window常用子类:Frame Dialog

2、窗体下的菜单体系:

MenuComponent:菜单组件;

|——MenuBar : 菜单栏(类似垂直菜单,可添加菜单项或菜单);

|——MenuItem: 菜单项,子菜单;

|——Menu: 菜单(可添加其他菜单或菜单项);

流程: 先创建菜单栏,再创建菜单,每一个菜单中建立菜单项。


功能组件图形化示例: 

黑马程序员-Java基础总结12——GUI编程


3、布局管理器:

容器中的组件的排放方式,就是布局。

常见的布局管理器:

1FlowLayout(流式布局管理器): 从左到右的顺序排列,Panel默认布局。

2BorderLayout(边界布局管理器): 东、南、西、北、中,Frame默认布局。

3GridLayout(网格布局管理器): 规则的矩阵。

4CardLayout(卡片布局管理器): 选项卡。

5GridBagLayout(网格包布局管理器): 非规则的矩阵,即常用的*式布局,通常配合编程软件的“画布”来实现*移动。

三、组件创建的基本设置:

1界面基本操作

A、创建Frame窗体并命名窗体;

B、窗体进行基本设置: 大小、位置、布局以及是否显示窗体等;

C、定义组件: 按钮,文本组件、复选框等

D、通过窗体add方法,添加组件到窗体中。

2事件监听机制:

事件源(组件): AWT包或者Swing包中的那些图形界面组件,例: 按钮等;

事件(Event: 每一个事件源都有自己特有的对应事件和共性事件

监听器(Listener: 触发某个事件的动作(不止一个动作),例:双击或移动到指定区域;

事件处理(引发事件后处理方式):通常就是触发事件后事件执行方法的内容;

黑马程序员-Java基础总结12——GUI编程

————注意:此处需先学习MyEclipse等软件(高新技术教程基本使用)————

简单概括实际操作:  (MyEclipse为例)

   1MyEclipse下工程包右键创建Matisse FormGUI画布),根据需要可选择JFrame等作为窗体,在命名的.java文件下可*切换Source(编程)Design(排版GUI组件)窗口。

         【此时通常是切换到MyElipse Swing /Matisse透视图下】

   2、在Design窗口下,可从右侧Matisse Palette窗口选择需要的组件(包括菜单体系)并使用,根据需要移动调整组件位置。            3、选择组件,右键—>Events选择需要的监听器,自动跳到Source编程窗口下,可编写事件处理方法

 

四、方法代码与示例: 【主要是帮助理解API文档中方法,起直白的解释的作用】

1、创建Frame窗体: 

Frame f = new Frame(“my window”);  //创建窗体,并命名;

f.setLayout(new FlowLayout());  //设置布局,选择流式布局;

f.setSize(500,400);             //设置窗体大小(左为横向坐标,右为纵向坐标);

f.setLocation(300,200);        //设置窗体在屏幕的初始化位置;

f.setVisible(true);           //继承Window方法,窗体是否可见?

 

GUI图形化界面小软件: (可参考其中的GUI部分代码)

http://blog.csdn.net/zms2100/article/details/23579817