学习java 7.26
学习内容:
进度条是图形界面中广浅个较大的文件时,操作系统会显示一个进度条,用于标识复制操作完成的比例:当启动Eclipse等程序时,因为需要加载较多的资源,故而启动速度较慢,程序也会在启动过程中显示一个进度条,用以表示该软件启动完成的比例......
创建进度条
使用JProgressBar创建进度条:
1.创建JProgressBar对象
public JProgressBar(int orient,int min, int max):
orient:方向 min:最小值 max:最大值
2.设置属性
setBorderPainted(boolean b):设置进度条是否有边框
setIndeterminate(boolean newNalue):设置当前进度条是不是进度不确定的进度条,如果是,则将看到一个滑块在进度条中左右移动
setstringPainted(boolean b):设置进度条是否显示当前完成的百分比
3.获取和设置当前进度条的进度状态
setvalue(int n):设置当前进度值
double getpercentcomplete():获取进度条的完成百分比
string getstring():返回进度字符串的当前值
程序调用JProgressBar对象的方法完成进度百分比的设置,监听进度条的数据变化,其实都是通过它内置的BoundedRangeModel对象完成的。(Model封装数据)
ProgressMonitor的用法马JProgressBar的用法基本相似,只是ProgressMonitor可以直接创建一个进度对话框,它提供了下面的构造器完成对话框的创建:
public ProgressMonitor(Component parentComponent ,object message ,string note,int min,int max):
parentcomponent:对话框的父组件 message:对话框的描述信息 note:进度的提示信息 min:进度条的最小值 max:进度条的最大值
使用ProgressMonitor创建的对话框里包含的进度条是非常固定的,程序甚至不能设置该进度条是否包含边框(总是包含边框),不能设置进度不确定,不能改变进度条的方向(总是水平方向)。
无论从哪个角度来看,List和IComboBox都是极其相似的,它们都有一个列表框,只是IComboBox的列表框需要以下拉方式显示出来;List和IComboBox都可以通过调用setRenderer ( )方法来改变列表项的表现形式。甚至维护这两个组件的Model都是相似的,JList使用ListModel, JComboBox使用ComboBoxModel,而ComboBoxModel是ListModel的子类。
与JProgressBar一样,JList和)ComboBox也采用了MC的设计模式,List和IComboBox只负责外观的显示,而组件底层的状态数据则由对应的Model来维护。st对应的Model是lListModel接口,JComboBox对应的Model是ComboBox接口
从上面接口来看,这个ListModel 不管List里的所有列表项的存储形式,它甚至不强制存储所有的列表项,只要ListModel的实现类提供了getSize()和getElementAt()两个方法,List就可以根据该ListMode!对象来生成列表框。ComboBoxModel继承了ListModel,它添加了"选择项""的概念,选择项代表JComboBox显示区域内可见的列表项。
如果需要创建一个可以增加、删除列表项的List 对象,则应该在创建List时显式使用DefaultListModel作为构造参数。因为DefaultListModel 作为List的Model,它负责维护儿List组件的所有列表数据,所以可以通过向DefaultListModel中添加、删除元素来实现向List对象中增加、删除列表项。
前面程序中的JList和JComboBoX采用的都是简单的字符串列表项,实际上,JList和IComboBox还可以支持图标列表项,如果在创建List,或JComboBox时传入图标数组,则创建的JList和IComboBox的列表项就是图标。如果希望列表项是更复杂的组件,例如,希望像QQ程序那样每个列表项既有图标,又有字符串,此时需要使用ListCellRenderer接口的实现类对象,自定义每个条目组件的渲染过程
通过JList的setcellRenderer(ListcellRenderer<? super E> cellRenderer)方法,把自定义的ListCellRenderer对象传递给JList,就可以按照自定义的规则绘制列表项组件了。
明天内容:
Swing 树 表格
遇到问题:
无
最新文章
- C++ STL算法系列2---find ,find_first_of , find_if , adjacent_find的使用
- spring校验和文件上传
- elasticsearch插件之一:bigdesk
- Windows Server 2012 R2 设置 smtp 服务器
- source code analyzer 功能强大的C/C++源代码分析软件 Celerity CRACK 破解版
- mount 挂载光盘
- deepin 2014 静态IP无法保存,临时方法
- {% load staticfiles %}
- http://www.spasvo.com/ceshi/open/kyxncsgj/Jmeter/
- iOS 开源库介绍
- 分析Linux内核5.0系统调用处理过程
- Python和Java编程题(六)
- OnSen UI结合AngularJs打造”美团";APP底部导航栏 --Hybrid App
- 网络流Dinic算法
- python 异常类型----后期需理解调整
- python中的列表和元组
- 使用mysql-connector-java出现的错误
- BZOJ3714 [PA2014]Kuglarz 【最小生成树】
- vector对象
- java equals与==区别