当前课程知识点:Java程序设计 > 第七章 图形用户界面 > 7.11-原子组件(一) > 7.11-原子组件(一)
大家好 欢迎回来继续
学习Java语言程序设计
这一节我们开始
学习Swing的原子组件
原子组件可以分为三类
一类是用于显示
不可编辑的信息的
像我们在前面例题中
见到过的JLabel
还有一会儿我们
要在例题中看到的
JProgressBar进度条以及JToolTip
第二类是有控制功能的
可以用来输入信息
比如说各种按钮列表菜单等等
第三种是能提供格式化的信息
并且允许用户选择的
像选择颜色的选择器
文件选择器还有
这个表格树型结构
首先我们来看几个常用的
用于显示不可编辑信息的
原子组件像JLabel
上面可以放置文字和图像
但是用户不能去
编辑修改它的内容
JProgressBar就是我们在程序中
通常看到的那个进度条
像有一些软件运行的时候
就会出现一个进度条
告诉你比如说文件
复制了百分之多少了
系统安装进度到什么程度了
这些我们常见的
这个都是用JProgressBar来实现的
JToolTip也很有意思
我们可以使用setToolTip的方法
为组件设置提示信息
什么是提示信息呢
有的时候我们将鼠标
指向某些组件的时候
就会弹出一个小泡泡
提示它是干什么的
或者提示一些其他的信息
这就是ToolTip
比如说有的组件
像这个JTappedPane
它是由多个部分组成的
那这个时候我们鼠标
要停在不同部分的时候
它会出现不同的提示信息
我们需要这样做到这样的功能
就是可以用addTapper方法
将这个提示信息添加上去
也可以通过setTooltipTextAt
方法进行设置
在接下来这个例子中
我们就来看一下
主要看一下怎么用这个进度条
当然了它也会有
其他的组件在里面
比如说我们看到
有一个Label在这儿
显示目前已经完成的
进度是百分之多少 好
那我们来看这里面
首先也在要在这个Frame的窗口的
标题栏里面显示这个标题
第一类原子组件演示
然后接下来我们的所有东西
还是要加在顶层容器的内容面板上
所以要getcontentPane得到内容面板
然后要构造一个JLabel
用于显示信息的
一开始它是空的
因为没有信息显示就放在这儿了
然后在上面设置一个ToolTip
就是我们鼠标指到它的话
就会告诉显示进度信息
这个信息就蹦出来了
然后接下来要构造一个JProgressBar
就是一个进度条
进度条要设置它的进度条的方向
最小值最大值初始值
这个true表示在进度条上
显示进度还要增加监听器
这是关键
addChangedListener
也就是进度条上的值
要改变的时候
我们就要触发一个ChangedListener
这个监听器的响应
然后就会在底下的这个Label上面
显示新的进度值
是这样一个目的
也要给进度条设置这个提示信息
指向它的时候
会显示这是个进度条
然后要布局一下
把它们都添加到contentPane上面去
这个ProgressBar
和这个Label都添加上去
接下来好就是我们来
模拟做一件事情的进度
比如说我们如果复制文件的话
那我可以数它字节数
我就知道复制的百分之多少了
那现在我们就用
这么一个循环来模拟
这个循环当然不是
每循环一次都改变一下
那这个文字闪的你
看都看不清楚了
我们比如说模拟一下
每500万次循环
就让这个进度条上的值增加1 好
那这个就是如果出现了setValue
就执行了setValue
就说明你改变了
进度条上的进度值
这个时候就会触发ChangedEvent
触发了ChangedEvent以后
我们就会进到
这个事件响应代码里面来
是setChanged
那这个时候就取一下getValue
取一下现在它的值变成几了
然后就在Label上
设置一下目前进度
完成了百分之多少
这就是一个进度条
所以大家看到这个进度条
其实很容易做的
如果说你自己
做一件实质性的工作
比如复制文件
你可以去数你复制的字节数
复制到百分之多少了
你在进度条上给一个进度
好 这一节我们了解了
第一种原子组件
就是显示不可编辑的
信息的原子组件
好 这一节内容就是这些
-1.0-导学
--1.0-导学
-1.1-Java与面向对象程序设计简介
--第一章 Java语言基础知识--1.1-Java与面向对象程序设计简介
-1.2-基本数据类型与表达式
-第一章 Java语言基础知识--1.2-基本数据类型与表达式
-1.3-数组
--1.3.1-数组
-第一章 Java语言基础知识--1.3-数组
-1.4-算法的流程控制
--第一章 Java语言基础知识--1.4-算法的流程控制
-1.5-第一章小结
-第一章编程练习题
-课件
--外部链接
-Java环境配置、Eclipse使用、Helloworld程序详解
--使用eclipse建立Java项目、编写和运行Java程序
-Java数据类型
--Java整数类型
--Java浮点类型
--数据类型实战
--数据类型转换
--Java强制类型转换精度损失示例与表达式中的数据类型转换
-Java数组
-Java变量
--Java的变量
-命令行参数
--命令行参数的介绍
-2.0-导学
--2.0-导学
-2.1-面向对象方法的特性
--第二章 类与对象--2.1-面向对象方法的特性
-2.2-1-类声明与对象创建
--第二章 类与对象--2.2-1-类声明与对象创建
-2.2-2-数据成员
--第二章 类与对象--2.2-2-数据成员
-2.2-3-方法成员
--第二章 类与对象--2.2-3-方法成员
-2.2-4-包
--2.2-4-包
--第二章 类与对象--2.2-4-包
-2.2-5-类的访问权限控制
--第二章 类与对象--2.2-5-类的访问权限控制
-2.3-1-对象初始化
--第二章 类与对象--2.3-1-对象初始化
-2.3-2-内存回收
--第二章 类与对象--2.3-2-内存回收
-2.4-枚举类
--2.4-枚举类
--第二章 类与对象--2.4-枚举类
-2.5-应用举例
--2.5-应用举例
-2.6-第2章小结
-第二章编程练习题
-课件
--第二章课件
-3.0-导学
--3.0-导学
-3.1.1-3.1.2-类继承的概念和语法
--第三章 类的重用--3.1.1-3.1.2-类继承的概念和语法
-3.1.3-隐藏和覆盖
--第三章 类的重用--3.1.3-隐藏和覆盖
-3.2-Object 类
--第三章 类的重用--3.2-Object 类
-3.3-终结类与终结方法
--第三章 类的重用--3.3-终结类与终结方法
-3.4-抽象类
--3.4-抽象类
--第三章 类的重用--3.4-抽象类
-3.5-泛型
--3.5-泛型
--第三章 类的重用--3.5-泛型
-3.6-类的组合
--3.6-类的组合
-3.7-小结
--3.7-小结
-第三章编程练习题
-课件
--课件
-4.0-导学
--导学
-4.1-接口
--接口
--第四章 接口与多态--4.1-接口
-4.2.1-4.2.2-类型转换
--类型转换
--第四章 接口与多态--4.2.1-4.2.2-类型转换
-4.2.3-方法的查找
--方法的查找
--第四章 接口与多态--4.2.3-方法的查找
-4.3-多态的概念
--多态的概念
--第四章 接口与多态--4.3-多态的概念
-4.4-多态的应用举例
--多态的应用举例
--第四章 接口与多态--4.4-多态的应用举例
-4.5-构造方法与多态性
--构造方法和多态性
--第四章 接口与多态--4.5-构造方法与多态性
-4.6-本章小结
--本章小结
-第四章编程作业
-课件
--课件
-5.0-导学
--5.0-导学
-5.1.1-5.1.2-异常处理的概念
--第五章 输入输出--5.1.1-5.1.2-异常处理的概念
-5.1.3-5.1.5-异常的处理
--第五章 输入输出--5.1.3-5.1.5-异常的处理
-5.2-输入输出流的概念
--输入输出流的概念
--第五章 输入输出--5.2-输入输出流的概念
-5.3.1-写文本文件
--写文本文件
--第五章 输入输出--5.3.1-写文本文件
-5.3.2-读文本文件
--读文本文件
--第五章 输入输出--5.3.2-读文本文件
-5.3.3-写二进制文件
--写二进制文件
--第五章 输入输出--5.3.3-写二进制文件
-5.3.4-读二进制文件
--读二进制文件
-5.3.5-File类
--File类
-5.3.6-处理压缩文件
--处理压缩文件
-5.3.7-对象序列化
--对象序列化
-5.3.8-随机文件读写
--随机文件读写
-5.4-本章小结
--本章小结
-课件
--课件
-6.0-导学
--导学
-6.1-Java集合框架介绍
--第六章 对象群体的组织--6.1-Java集合框架介绍
-6.2-主要接口及常用的实现类
--第六章 对象群体的组织--6.2-主要接口及常用的实现类
-6.3-常用算法
--常用算法
-6.4-数组实用方法
-6.5-基于动态数组的类型(Vector, ArrayList)
--基于动态数组的类型(Vector, ArrayList)
-6.6-遍历Collection
-6.7-Map接口及其实现
-6.8-第6章小结
--第6章小结
-课件
--课件
-7.0-导学
--导学
-7.1-绘图
--绘图
-7.2-Swing基础
--Swing基础
-7.3-Swing的层次
--Swing的层次
-7.4-布局管理
--布局管理
-7.5-内部类
--内部类
-7.6-事件处理的基本概念
-7.7-事件派发机制
--事件派发机制
-7.8-顶层容器
--7.8-顶层容器
-7.9-中间层容器(一)
-7.10-中间层容器(二)
-7.11-原子组件(一)
-7.12-原子组件(二)
-7.13-原子组件(三)
-7.14-其它Swing特性
-7.15-第7章小结
-课件
--课件