黑马程序员-GUI

GUI图形化界面Graphical user interface

MenuBar通过Frame的方法setMenuBar(Menubar)添加到Frame中。Dialog和FileDialog()通过构造函数接受一个Frame.

CLI command user interface

java.Awt ;Abstract Window ToolKit

需要调用本地系统方法,属于重量级控件

javax.Swing

在AWT的基础上,由java实现。轻量级控件。

常见的组件的排放方式,就是布局。

常见的布局管理器:

Flowlayout(流式布局管理器)

从左到右的顺序排列
默认居中,如果再添加,则居中的往左移,如果满了,则放在下一行,扔居中。

panel默认的布局管理区

BorderLayout(边界布局管理器)

东 北,中  如果没有指定东南西北,则整个页面居中。

Frame默认的布局管理区。

GridLayout(网格布局管理器)

规定的矩阵 类似九宫格

CardLayout(卡片布局管理器)

选项卡

GridBagLaout(网格包布局管理器)

非规则的矩阵

创建图形化界面:

1.创建frame窗体。

2.对窗体进行基本设置

比如大小,位置,布局

3.定义组件

4.将组件通过窗体的add方法添加到窗体中。

5.让窗体显示,通过setVisible(true)

时间监听机制的特点和原理:

1.事件源

2.事件

3.监听器

4.事件处理

事件源:就是awt包或者swing包中的那些图形界面组件

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

监听器:将可以触发某一个事件的动作都已经封装到了监听器中。

以上三者在java中已经定义好了,我们要做到是进行动作处理。

1.添加文本 转到按钮,文本框内输入文件目录,并搜索

TextArea 对象是显示文本的多行区域。可以将它设置为允许编辑或只读。

      
TextComponent:

String getText()

返回此文本组件表示的文本。

void setText(String t)

将此文本组件显示的文本设置为指定文本。

      
类textArea:

void append(String str)

将给定文本追加到文本区的当前文本。

TextArea(String text,
int rows, int columns)

             
 
设置行和列

2.添加Dialog
是一个带标题和边界的顶层窗口

Dialog 是一个带标题和边界的顶层窗口

Dialog(Dialog owner)

Dialog(Frame owner)

Dialog(Window owner)

Dialog(Frame owner, String title,
boolean modal)

构造一个最初不可见的 Dialog,它带有指定的所有者
Frame、标题和模式。

模式:为true不点击无法继续操作。

Label对象是一个可在容器中放置文本的组件。

void setText(String text)

将此标签的文本设置为指定的文本。

3.添加鼠标键盘事件

KeyEvent的方法。      *

int getKeyCode()

返回与此事件中的键关联的整数
keyCode。

static String getKeyText(int keyCode)

返回描述 keyCode 的 String,如
"HOME"、"F1" 或 "A"。

getChar():获取字符,如果是多个字母的如ESC,则显示?     *

如何使用组合键?

在InputEvent(keyEvent的父类)中,有一些方法,可以判断某个键被按下,如

boolean isControlDown()
isShiftDown(),

返回 Control 修饰符在此事件上是为
down。

consume():使用此事件,以便不会按照默认的方式由此程序源代码来处理事件

TextField 对象是允许编辑单行文本的文本组件。

void setColumns(int columns)

设置此文本字段中的列数。

4.添加菜单:

MenuBar:菜单栏//extends MenuComponet extends Componet

MenuBar() 创建新的菜单栏。

方法:add(Menu m);菜单栏添加下拉菜单

Frame:void setMenuBar(MenuBar mb)//frame不能直接添加MenuBar

将此窗体的菜单栏设置为指定的菜单栏。

Menu;下拉式菜单

Menu(String label)
//可以为空,构造具有指定标签的新菜单。

方法:add(MenuItem mi)

MenuItem:菜单项//菜单项不可以添加子菜单或菜单项

MenuItem()
//可以为空,构造具有空标签且没有键盘快捷方式的新菜单项。

MenuItem监听器;

void addActionListener(ActionListener
l)

添加指定的动作侦听器,以从此菜单项接收动作事件。

5.添加文件对话框

类FileDialog 文件对话框。//同dialog一样。

FileDialog(Frame parent, String title, int mode)

创建一个具有指定标题的文件对话框窗口,用于加载或保存文件。

如果 mode 的值为
LOAD,那么文件对话框将查找要读取的文件,所显示的文件是当前目录中的文件。

如果 mode 的值为 SAVE,则文件对话框将查找要写入文件的位置。

mode - 对话框的模式,FileDialog.LOAD 或
FileDialog.SAVE

方法:

String getDirectory()
//返回的是文件名都在文本区中。

获取此文件对话框的目录。

String getFile()

获取此文件对话框的选定文件。

void setDirectory(String dir)

将此文件对话框窗口的目录设置为指定目录。

void setFile(String file)

将此文件对话框窗口的选定文件设置为指定文件。

注意:getDirectory()获取的是一个文件的目录,getFile()获取的同样也是个这个文件的名字。

只是将一个文件的路径名和文件名分开了。

练习1:列出指定目录内容

练习2:在输入路径名错误是,跳出对话框,不点确定,不让执行。

String getText()

返回此文本组件表示的文本。

TextArea:  void append(String str)

将给定文本追加到文本区的当前文本。

TextField:   void setText(String t)
:会覆盖以前的文档。

将此文本组件显示的文本设置为指定文本。

练习1思路:

1.创建GUI,Frame,Button ,TextField TextArea

2.进行基本设置..

3.在Button上添加监听器,在TextField添加监听器。

4.监听器内容;获取TestField的路径名。getText()

5.将路径名传给递归方法。

6.递归方法:

--1.列出目录,2.for循环中,如果不是目录,继续递归。

--3. 循环中,将目录的字符串添加到TextArea中,append(String),几个加换行。

练习2思路:

1.添加Dialog组件

2.添加Button和Lable

3.添加Buttton监视器d.setViseble(false)
,在文件名不准确时,设置d.setVisible(true)

练习3:创建菜单项,菜单栏,子菜单 点击退出时退出。

菜单栏:MenuBar 通过Fame的setMenuBar(MenuBar
mb)与Frame联系。

---构造方法:MenuBar()

创建新的菜单栏。

菜单:Menu extends MenuItem

----add(MenuItem mi),add(String
label)

----Menu(String label)  
构造具有指定标签的新菜单。

菜单:MenuItem

----addActionListener(ActionListener l)

----MenuItem(String label)

黑马程序员-GUI

时间: 2024-10-10 20:45:45

黑马程序员-GUI的相关文章

黑马程序员——GUI篇

------- android培训.java培训.期待与您交流! ---------- GUI(图形用户界面) 1.基本概念: GUI:Graphical User Interface(图形用户接口).用图形的方式,来显示计算机操作的界面,这样更方便更直观. CLI:Command line User Interface (命令行用户接口).就是常见的Dos命令行操作.需要记忆一些常用的命令,操作不直观. Java为GUI提供的对象都存在java.Awt和javax.Swing两个包中. 2.A

黑马程序员——GUI概述

------ <a href="http://www.itheima.com" target="blank">android培训</a>.<a href="http://www.itheima.comtarget="blank"> java培训</a>.期待与您交流! --------- GUI <1> Graphical User Interface(图形用户接口). <

黑马程序员_银行业务调度系统

1,项目的具体需求 银行业务调度系统 模拟实现银行业务调度系统逻辑,具体需求如下: 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口. 有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费.电话费之类业务的客户). 异步随机生成各种类型的客户,生成各类型用户的概率比例为: VIP客户 :普通客户 :快速客户 = 1 :6 :3.   客户办理业务所需时间有最大值和最小值,在该范围内随机设定每个VIP客户以及普通客户办理业务所需的时间,快速

黑马程序员___银行调度业务系统

----------- android培训.java培训.java学习型技术博客.期待与您交流! --------- 模拟实现银行业务调度系统逻辑,具体需求如下: 银行内有6个业务窗口,1 - 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口. 有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费.电话费之类业务的客户). 异步随机生成各种类型的客户,生成各类型用户的概率比例为: VIP客户 :普通客户 :快速客户  =  1 :6 :3. 客户办理业务所需时间有最大

黑马程序员_毕向东_Java基础视频教程_Java基础学习知识点总结

黑马程序员_毕向东_Java基础视频教程 Java基础学习知识点总结 2016年01月06日  day01 一.基础知识:软件开发 1.什么是软件?软件:一系列按照特定顺序组织的计算机数据和指令的集合. 2.常见的软件:系统软件:如:DOS,Windows,Linux等.应用软件:如:扫雷,迅雷,QQ等. 3.什么是开发?制作软件. 二.基础知识:人机交互方式 4.软件的出现实现了人与计算机之间的更好的交互. 5.交互方式:图形化界面:这种方式简单直观,使用者易于接受,容易上手操作.命令行方式:

黑马程序员__GUI_网络编程

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- GUI 1.事件处理就是处理用户的一个操作这个事件,在事件发生的时候程序应做出什么反应.当事件发生在哪个组件上, 哪个组件就可以说是事件源.给事件源添加一个监听器对象,监听器对象中包含若干事件处理方法.如果事件发生了, 事件处理方法就会自

黑马程序员-交通灯系统

要求: 异步随机生成按照各个路线行驶的车辆. 例如: 由南向而来去往北向的车辆 ---- 直行车辆 由西向而来去往南向的车辆 ---- 右转车辆 由东向而来去往南向的车辆 ---- 左转车辆 信号灯忽略黄灯,只考虑红灯和绿灯. 应考虑左转车辆控制信号灯,右转车辆不受信号灯控制. 具体信号灯控制逻辑与现实生活中普通交通灯控制逻辑相同,不考虑特殊情况下的控制逻辑. 注:南北向车辆与东西向车辆交替放行,同方向等待车辆应先放行直行车辆而后放行左转车辆. ?每辆车通过路口时间为1秒(提示:可通过线程Sle

黑马程序员 银行业务调度系统

模拟实现银行业务调度系统逻辑,具体需求如下: ? 银行内有6个业务窗口,1- 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口. ? 有三种对应类型的客户:VIP客户,普通客户,快速客户(办理如交水电费.电话费之类业务的客户). ? 异步随机生成各种类型的客户,生成各类型用户的概率比例为: VIP客户 :普通客户 :快速客户 =  1 :6 :3. ? 客户办理业务所需时间有最大值和最小值,在该范围内随机设定每个VIP客户以及普通客户办理业务所需的时间,快速客户办理业务所需时间为最小

黑马程序员_第一天视频学习

一.      计算机和软件常识 1.      计算机运行原理 1)          硬件基本组成:硬盘.内存.CPU 2)          各个部件之间的运作协调(下图) 2.      计算机只能识别0和1 1)          0和1组成的指令 2)          0和1组成的数据 3.      计算机和软件的联系 1)          软件的基本概念:指令的集合 2)          软件的安装运行过程 3)          为什么要开发软件:写出能控制计算机的指令