学习内容:

      进度条是图形界面中广浅个较大的文件时,操作系统会显示一个进度条,用于标识复制操作完成的比例:当启动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 树  表格

遇到问题:

      无

学习java 7.26的更多相关文章

  1. 2015第16周六学习java建议

    学习Java 建议: 尽量用 google 查找技术资料. 有问题在 stackoverflow 找找,大部分都已经有人回答. 多看官方的技术文档. ibm developerworkers 的文章质 ...

  2. 推介一个学习JAVA的系列教程-狗鱼IT教程

    介绍一个学JAVA的零基础学习JAVA的网站,推介一个学习JAVA的系列教程-狗鱼IT教程 下面是java的系教程: 1、[java教程]Java 教程 2、[java教程]Java 简介 3、[ja ...

  3. 重新学习Java——对象和类(一)

    之前通过记笔记的方法,对于<Java核心技术>这本书的前一章进行了重新的复习,感觉效果很好,比单独看书带来了更好的复习效果,了解了很多以前不是很注意的一些细节,但是在一些自己较为熟悉的地方 ...

  4. 英语是学习Java编程的基础吗

    就当前市场行情需求来看,Java人才需求依旧火爆,在如今互联网时代,手机移动端的软件开发是非常重要的,如今无论是大中小企业都是需要进行软件的开发的,又因为Java是开源的使用起来可以节约一大批的成本, ...

  5. 零基础如何学习java更有效呢?

    零基础学java,不知道该如何入手?也不知道学习的方向,很多人会问零基础怎么样学习,有没有什么入门的书籍推荐:只要方法正确,零基础学好java也是有机会的哦. 一.理解Java思想 Java是一门面向 ...

  6. 积极主动敲代码,使用Junit学习Java程序设计

    积极主动敲代码,使用JUnit学习Java 早起看到周筠老师在知乎的回答软件专业成绩很好但是实际能力很差怎么办?,很有感触. 从读大学算起,我敲过不下100本程序设计图书的代码,我的学习经验带来我的程 ...

  7. 如何接触学习java

    信息科技必将是未来的潮流,Java语言必将在时代的进步中发挥不可估量的作用,未来,掌握好一门实用而且有良好应用前景的技术是你们的首要任务. 零基础怎么学Java 多年Java教育培训经验事实表明,零基 ...

  8. 零基础如何系统学习Java Web

    零基础如何系统学习Java Web?   我来给你说一说 你要下决心,我要转行做开发,这样你才能学成. 你要会打字,我公司原来有一个程序员,打字都是两个手一指禅,身为程序员你一指禅怎么写出的代码,半个 ...

  9. (转)如何学习Java技术?谈Java学习之路

    51CTO编者注:这篇文章已经是有数年“网龄”的老文,不过在今天看来仍然经典.如何学习Java?本篇文章可以说也是面对编程初学者的一篇指导文章,其中对于如何学习Java的步骤的介绍,很多也适用于开发领 ...

随机推荐

  1. spring cloud Alibaba --sentinel组件的使用

    sentinel组件 对于sentinel的前置知识这里就不多说了: 直接上代码: Release v1.8.1 · alibaba/Sentinel · GitHub  下载地址 springclo ...

  2. Python3 TypeError: initial_value must be str or None, not bytes

    response.read() returns an instance of bytes while StringIO is an in-memory stream for text only. Us ...

  3. 力扣 - 剑指 Offer 67. 把字符串转换成整数

    题目 剑指 Offer 67. 把字符串转换成整数 思路1 根据题意,要解决这题,首先要判断的条件有: 不包括首位空格 第一位必须为:+.-.数字三者其一,否则不合法 数字必须连续的,如果遇到非数字, ...

  4. $router 和 $route的区别

    router router是VueRouter的一个对象,通过Vue.use(VueRouter)和VueRouter构造函数得到一个router的实例对象,这个对象中是一个全局对象,他包含了所有的路 ...

  5. Linux usb 1. 总线简介

    文章目录 1. USB 发展历史 1.1 USB 1.0/2.0 1.2 USB 3.0 1.3 速度识别 1.4 OTG 1.5 phy 总线 1.6 传输编码方式 2. 总线拓扑 2.1 Devi ...

  6. Maven 依赖调解源码解析(四):传递依赖,第一声明者优先

    本文是系列文章<Maven 源码解析:依赖调解是如何实现的?>第四篇,主要介绍依赖调解的第二条原则:传递依赖,第一声明者优先.请按顺序阅读其他系列文章,系列文章总目录参见:https:// ...

  7. 一文了解Docker基本概念

    一.何为Docker Docker 是一个用于开发.交付和运行应用程序的开放平台,Docker 使您能够将应用程序与基础环境分开,以便您可以快速交付软件.借用百度百科的话来说,Docker 是一个开源 ...

  8. oracle和mysql的拼接查询

    oracle的 SELECT * FROM sys_user a WHERE 1=1 AND a.company_id || a.login_name IN('3001rddb414') 196676 ...

  9. MYSQL免安装

    MYSQL免安装 本文使用mysql 8.0.22进行演示 一.MYSQL 下载 [x] 官网下载:地址:https://dev.mysql.com/downloads/mysql/ [x] 百度云盘 ...

  10. Docker容器基础入门认知-网络篇

    这篇文章中,会从 docker 中的单机中的 netns 到 veth,再到单机多个容器之间的 bridge 网络交互,最后到跨主机容器之间的 nat 和 vxlan 通信过程,让大家对 docker ...