当前位置导航:炫浪网>>网络学院>>编程开发>>JAVA教程>>Java进阶

Swing 的新 Spinner 组件

  Java 2 SDK,1.4 beta 的最新发行版向 JFC/Swing 组件集添加了两个强大的新组件。其中一个是 JSpinner ,它使用户能够方便地选择日期、数字或拾取列表中的选项。(另一个是 JFormattedTextField ,用于支持格式化的输入。)

  开始启动

  JSpinner 使您可创建一个排序的值列表,该表在选择框中每次显示一个选项,如图 1 所示。用户通过点击上移和下移箭头进行选择。

  图 1. JSpinner 示例

        

  用户使用组件或键盘上的上移和下移箭头进行选择。他们也可输入自己的选择。然而,与 JComboBox 不同, JSpinner 不提供下拉列表选择,所以各个选择以及它们的顺序应有一定的意义。

  要使用类,可简单地创建一个供选择的元素集合(在 List 或数组中),从列表中创建一个 SpinnerModel ,并为模型创建一个 JSpinner :

  清单 1. 简单的 JSpinner 用法

 

  根据您所用的输入类型,有以下几个可用于创建组件数据模型的帮助类:

  SpinnerDateModel :用于接受日期输入。该类支持通过将 Calendar 类中的常数设置为不同的值来更改日期;例如, Calendar.WEEK_OF_MONTH 每次将日期更改一周。

  SpinnerListModel :用于接受来自值列表的输入。

  SpinnerNumberModel :用于接受已设定好步长的一定范围内的数字( int 或 double )的输入。

  每个 SpinnerModel 执行取决于用于输入值的编辑器。此编辑器必须是一个 JComponent ;系统定义的编辑器子类 JSpinner.DefaultEditor 。其中一个可用于每个模型:

  JSpinner.DateEditor :用于 SpinnerDateModel 。允许您定制输入日期格式。

  JSpinner.ListEditor :用于 SpinnerListModel 。支持 type-ahead 来对值进行定位。

  JSpinner.NumberEditor :用于 SpinnerNumberModel 。允许您定制十进制格式的模式。

  所有这些类(及更多类)之间的关系如图 2 所示。

  图 2. JSpinner UML 关系示意图

1 String[] months = new DateFormatSymbols().getMonths();
2   SpinnerModel model = new SpinnerListModel(months);
3   JSpinner spinner = new JSpinner(model);
4

共2页 首页 上一页 1 2 下一页 尾页 跳转到
相关内容
赞助商链接