自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Swing組件的新元素Spinner Model

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

Swing組件的新元素Spinner Model

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

開(kāi)始啟動(dòng)

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

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

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

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


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


◆SpinnerListModel :用于接受來(lái)自值列表的輸入。


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

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

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

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

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

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

清單1. JSpinner 事件偵聽(tīng)

  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. 動(dòng)態(tài)語(yǔ)言是否將會(huì)挽救Swing
  2. 用TableModel框架簡(jiǎn)化Swing開(kāi)發(fā)
  3. Swing模型過(guò)濾技術(shù)詳解
  4. Java Swing開(kāi)發(fā)的一些熱點(diǎn)
  5. 使用Swing動(dòng)態(tài)界面設(shè)計(jì)技術(shù)透析
責(zé)任編輯:佚名 來(lái)源: 新浪科技
相關(guān)推薦

2010-01-22 10:53:04

C++堆棧

2009-07-14 17:21:42

Swing組件

2009-07-15 11:02:32

Swing組件

2009-07-10 16:29:32

Swing組件

2010-07-27 09:55:52

Flex4

2012-03-01 10:50:11

Windows 8微軟

2009-07-10 10:19:57

JFormattedTSwing

2009-07-15 13:06:38

Swing組件

2013-04-10 10:35:36

IDF2013施浩超極本

2009-07-10 13:20:37

Swing容器組件

2009-07-10 18:06:59

JTree Swing

2009-07-17 12:54:13

2009-07-10 14:58:13

JLabel組件JFC和Swing

2009-07-15 10:52:13

JTree組件

2009-07-17 11:13:46

AWT和SwingSwing組件

2009-07-10 12:30:12

Swing組件

2009-07-10 17:03:17

AWT組件Swing組件

2009-07-14 18:05:28

輕量級(jí)Swing組件

2009-07-17 14:38:51

輕量級(jí)Swing組件

2009-07-17 10:31:18

paint方法Swing組件
點(diǎn)贊
收藏

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