偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Swing組件的新元素Spinner Model

開發(fā) 后端
本文介紹Swing組件的新元素Spinner Model,以及介紹根據(jù)您所用的輸入類型,有以下幾個可用于創(chuàng)建組件數(shù)據(jù)模型的幫助類。

Swing組件的新元素Spinner Model

Java 2 SDK,1.4 beta 的最新發(fā)行版向 JFC/Swing組件集添加了兩個強(qiáng)大的新組件。其中一個是 JSpinner ,它使用戶能夠方便地選擇日期、數(shù)字或拾取列表中的選項。(另一個是 JFormattedTextField ,用于支持格式化的輸入。)

開始啟動

JSpinner 使您可創(chuàng)建一個排序的值列表,該表在選擇框中每次顯示一個選項。用戶通過點擊上移和下移箭頭進(jìn)行選擇。

用戶使用組件或鍵盤上的上移和下移箭頭進(jìn)行選擇。他們也可輸入自己的選擇。然而,與 JComboBox 不同, JSpinner 不提供下拉列表選擇,所以各個選擇以及它們的順序應(yīng)有一定的意義。

要使用類,可簡單地創(chuàng)建一個供選擇的元素集合(在 List 或數(shù)組中),從列表中創(chuàng)建一個 Spinner Model ,并為模型創(chuàng)建一個 JSpinner :

根據(jù)您所用的輸入類型,有以下幾個可用于創(chuàng)建Swing組件數(shù)據(jù)模型的幫助類:


◆SpinnerDateModel :用于接受日期輸入。該類支持通過將 Calendar 類中的常數(shù)設(shè)置為不同的值來更改日期;例如, Calendar.WEEK_OF_MONTH 每次將日期更改一周。


◆SpinnerListModel :用于接受來自值列表的輸入。


◆SpinnerNumberModel :用于接受已設(shè)定好步長的一定范圍內(nèi)的數(shù)字( int 或 double )的輸入。

每個 Spinner Model 執(zhí)行取決于用于輸入值的編輯器。此編輯器必須是一個 JComponent ;系統(tǒng)定義的編輯器子類 JSpinner.DefaultEditor 。其中一個可用于每個模型:
◆JSpinner.DateEditor :用于 SpinnerDateModel 。允許您定制輸入日期格式。
◆JSpinner.ListEditor :用于 SpinnerListModel 。支持 type-ahead 來對值進(jìn)行定位。
◆JSpinner.NumberEditor :用于 SpinnerNumberModel 。允許您定制十進(jìn)制格式的模式。

所有這些類(及更多類)之間的關(guān)系如圖1所示。

JSpinner UML 關(guān)系示意圖

JSpinner UML 關(guān)系示意圖

JSpinner 組件象其它 Swing組件一樣工作。如果您有興趣查出用戶更改選擇的時間,請連一個偵聽器。對于 JSpinner ,偵聽器是一個 ChangeListener ,您可直接將其連到 JSpinner 或其 Spinner Model 上。雖然您可將偵聽器連到兩者中的任意一個,當(dāng)值發(fā)生更改時, ChangeEvent 的源總是 Spinner Model :

清單1. JSpinner 事件偵聽

  1. ChangeListener listener = new ChangeListener() {  
  2. public void stateChanged(ChangeEvent e) {  
  3. SpinnerModel source = (SpinnerModel)e.getSource();  
  4. System.out.println("The value is: " + source.getValue());  
  5. }  
  6. };  
  7. model.addChangeListener(listener);  

【編輯推薦】

  1. 動態(tài)語言是否將會挽救Swing
  2. 用TableModel框架簡化Swing開發(fā)
  3. Swing模型過濾技術(shù)詳解
  4. Java Swing開發(fā)的一些熱點
  5. 使用Swing動態(tài)界面設(shè)計技術(shù)透析
責(zé)任編輯:佚名 來源: 新浪科技
相關(guān)推薦

2009-07-15 11:02:32

Swing組件

2009-07-14 17:21:42

Swing組件

2009-07-10 16:29:32

Swing組件

2010-01-22 10:53:04

C++堆棧

2009-07-15 13:06:38

Swing組件

2009-07-10 10:19:57

JFormattedTSwing

2009-07-10 18:06:59

JTree Swing

2009-07-17 12:54:13

2009-07-10 13:20:37

Swing容器組件

2009-07-10 14:58:13

JLabel組件JFC和Swing

2009-07-15 10:52:13

JTree組件

2009-07-10 12:30:12

Swing組件

2009-07-17 11:13:46

AWT和SwingSwing組件

2009-07-14 18:05:28

輕量級Swing組件

2009-07-17 14:38:51

輕量級Swing組件

2009-07-10 17:03:17

AWT組件Swing組件

2012-03-01 10:50:11

Windows 8微軟

2009-07-17 10:31:18

paint方法Swing組件

2010-07-27 09:55:52

Flex4

2009-07-16 10:11:06

渲染器RendererSwing組件
點贊
收藏

51CTO技術(shù)棧公眾號