微调控制器模型
2016-05-14 20:53
316 查看
使用微调控制器和微调控制器的标准数据模型,3种模型的功能和方法如下:
SpinnerDateModel模型是JSpinner选择日期的情况下使用的。使用该模型可以为其提供最大日期,最小日期,当前日期以及布进值,此类的两个构造方法如下:
SpinnerDateModel():创键一个没有起点和终点的日期模型,使用当前日期作为初始当前值
SpinnerDateModel(Date value,Comparable start ,Comparable end,int calendarFiled):创建一个具有当前值,起点,终点和步进值的日期模型
步进量的单位一般使用Calendar类的静态常量表示,如下表所示
Calendar 类的静态常量
SpinnerDateModel类中常用的方法:
public Date getDate():获取此序列中的当前元素
public Comparable getEnd() :获取序列中的最后一个日期
public Comparable getStart() :获取序列中的第一个日期
public void setEnd(Comparable end):更改此序列中的最后一个日期
public void setStart(Comparable Start):更改此序列中的第一个日期
public Object getValue():获取此日期序列中的当前元素
public Object setValue(Object value):设置此序列中的当前日期
SpinnerListModel模型使用数组或List列表的元素作为带选择的选项,该模型允许用户对数值进行微调,可以支持整数,浮点数或数字表示的特定数字序列,同样可以指定最大值,最小值,步长等
SpinnerNumberModel模型允许用户对数值进行微调,可以支持整数,浮点数或数字表示的特定数字序列,同样可以指定最大值,最小值,步长等
代码实例:
SpinnerDateModel模型是JSpinner选择日期的情况下使用的。使用该模型可以为其提供最大日期,最小日期,当前日期以及布进值,此类的两个构造方法如下:
SpinnerDateModel():创键一个没有起点和终点的日期模型,使用当前日期作为初始当前值
SpinnerDateModel(Date value,Comparable start ,Comparable end,int calendarFiled):创建一个具有当前值,起点,终点和步进值的日期模型
步进量的单位一般使用Calendar类的静态常量表示,如下表所示
Calendar 类的静态常量
常量 | 常量意义 |
Calendar.YEAR | 步进单位为年 |
Calendar.MONTH | 步进单位为月 |
Calendar.DAY_OF_MONTH Calendar.DATE | 步进单位为天 |
HOUR_OF_DAY(24小时制) Calendar.HOUR(12小时制) | 步进单位为小时 |
Calendar.MINUTE | 步进单位为分钟 |
Calendar.SECOND | 步进单位为秒 |
Calendar.DAY_OF_WEEK用数字(1~7)表示(星期日~星期六) | 星期几 |
Calendar.AM_PM (0-上午;1-下午) | 上/下午 |
Calendar.WEEK_OF_YEAR | 步进单位为周 |
Calendar.WEEK_OF_MONTH | 当前月的星期数 |
Calendar.DAY_OF_WEEK_IN_MONTH | 当前月中的第几个星期 |
Calendar.DAY_OF_YEAR | 当前年的第几天 |
public Date getDate():获取此序列中的当前元素
public Comparable getEnd() :获取序列中的最后一个日期
public Comparable getStart() :获取序列中的第一个日期
public void setEnd(Comparable end):更改此序列中的最后一个日期
public void setStart(Comparable Start):更改此序列中的第一个日期
public Object getValue():获取此日期序列中的当前元素
public Object setValue(Object value):设置此序列中的当前日期
SpinnerListModel模型使用数组或List列表的元素作为带选择的选项,该模型允许用户对数值进行微调,可以支持整数,浮点数或数字表示的特定数字序列,同样可以指定最大值,最小值,步长等
SpinnerNumberModel模型允许用户对数值进行微调,可以支持整数,浮点数或数字表示的特定数字序列,同样可以指定最大值,最小值,步长等
代码实例:
package ch10; import java.awt.BorderLayout; import java.util.*; import javax.swing.*; import javax.swing.event.*; public class SpinnerTest extends JFrame implements ChangeListener { JPanel jp = new JPanel(); SpinnerNumberModel snm1 = new SpinnerNumberModel(2008,2008,2020,1);//允许用户对数值进行微调,起始值,最小值,最大值,增值 SpinnerNumberModel snm2 = new SpinnerNumberModel(9,1,31,1); SpinnerListModel slm = new SpinnerListModel(); ArrayList list = new ArrayList(); JSpinner [] spinnerArray = {new JSpinner(snm1),new JSpinner(slm),new JSpinner(snm2)};//创建微调数组 JLabel jl = new JLabel("您预定的机票的日期为:"); JLabel[] labelArray = {new JLabel("选择年:"),new JLabel("选择月:"),new JLabel("选择日:")}; public SpinnerTest() { this.add(jl,BorderLayout.SOUTH); this.add(jp); for(int i=1;i<=12;i++) { list.add(i+"月"); } slm.setList(list); slm.setValue("9月"); for(int i=0;i<spinnerArray.length;i++) { labelArray[i].setBounds(30+120*i,60,50,40); jp.add(labelArray[i]); spinnerArray[i].setBounds(90+130*i,60,70,40); spinnerArray[i].addChangeListener(this); jp.add(spinnerArray[i]); } this.setTitle("选择机票日期实例"); this.setBounds(200,200,450,150); this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void stateChanged(ChangeEvent a) { int year = ((Integer)(spinnerArray[0].getValue())).intValue(); String month = (String)(spinnerArray[1].getValue()); int day = ((Integer)(spinnerArray[2].getValue())).intValue(); jl.setText("您预订机票的日期是:"+year+"月"+month+day+"日"); } public static void main(String args[]) { new SpinnerTest(); } }
相关文章推荐
- 3步配置虚拟主机
- Linux 命令行版字典工具:ydcv
- 1106. Lowest Price in Supply Chain (25)【树+深搜】——PAT (Advanced Level) Practise
- [ JS 进阶 ] 闭包,作用域链,垃圾回收,内存泄露
- C#中Split分隔字符串的应用(C#、split、分隔、字符串)
- 【转载自海子博客】浅谈Java中的equals和==
- linux入门(二):find指令的用法
- 1105. Spiral Matrix (25)【模拟】——PAT (Advanced Level) Practise
- window.location的使用
- Java Lock and Condition Example using Producer Consumer Solution
- android开发笔记之多媒体—Canvas的相关方法
- 《数据结构》2.5-将链表A分解成B和C
- 线性表的操作 (2)实现 C = A U B
- 创建可执行的JAR包
- MyEclipse快捷键
- 1104. Sum of Number Segments (20)【数学题】——PAT (Advanced Level) Practise
- utilities(matlab)—— ZCA 白化
- 图片压缩
- Vjudge 2016-5-10 math test
- QT实现五子棋(附源码)