新聞中心
Swing組件的新元素Spinner Model

10年積累的成都做網(wǎng)站、成都網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有峰峰礦免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
Java 2 SDK,1.4 beta 的最新發(fā)行版向 JFC/Swing組件集添加了兩個(gè)強(qiáng)大的新組件。其中一個(gè)是 JSpinner ,它使用戶能夠方便地選擇日期、數(shù)字或拾取列表中的選項(xiàng)。(另一個(gè)是 JFormattedTextField ,用于支持格式化的輸入。)
開始啟動
JSpinner 使您可創(chuàng)建一個(gè)排序的值列表,該表在選擇框中每次顯示一個(gè)選項(xiàng)。用戶通過點(diǎn)擊上移和下移箭頭進(jìn)行選擇。
用戶使用組件或鍵盤上的上移和下移箭頭進(jìn)行選擇。他們也可輸入自己的選擇。然而,與 JComboBox 不同, JSpinner 不提供下拉列表選擇,所以各個(gè)選擇以及它們的順序應(yīng)有一定的意義。
要使用類,可簡單地創(chuàng)建一個(gè)供選擇的元素集合(在 List 或數(shù)組中),從列表中創(chuàng)建一個(gè) Spinner Model ,并為模型創(chuàng)建一個(gè) JSpinner :
根據(jù)您所用的輸入類型,有以下幾個(gè)可用于創(chuàng)建Swing組件數(shù)據(jù)模型的幫助類:
◆SpinnerDateModel :用于接受日期輸入。該類支持通過將 Calendar 類中的常數(shù)設(shè)置為不同的值來更改日期;例如, Calendar.WEEK_OF_MONTH 每次將日期更改一周。
◆SpinnerListModel :用于接受來自值列表的輸入。
◆SpinnerNumberModel :用于接受已設(shè)定好步長的一定范圍內(nèi)的數(shù)字( int 或 double )的輸入。
每個(gè) Spinner Model 執(zhí)行取決于用于輸入值的編輯器。此編輯器必須是一個(gè) JComponent ;系統(tǒng)定義的編輯器子類 JSpinner.DefaultEditor 。其中一個(gè)可用于每個(gè)模型:
◆JSpinner.DateEditor :用于 SpinnerDateModel 。允許您定制輸入日期格式。
◆JSpinner.ListEditor :用于 SpinnerListModel 。支持 type-ahead 來對值進(jìn)行定位。
◆JSpinner.NumberEditor :用于 SpinnerNumberModel 。允許您定制十進(jìn)制格式的模式。
所有這些類(及更多類)之間的關(guān)系如圖1所示。
JSpinner UML 關(guān)系示意圖
JSpinner 組件象其它 Swing組件一樣工作。如果您有興趣查出用戶更改選擇的時(shí)間,請連一個(gè)偵聽器。對于 JSpinner ,偵聽器是一個(gè) ChangeListener ,您可直接將其連到 JSpinner 或其 Spinner Model 上。雖然您可將偵聽器連到兩者中的任意一個(gè),當(dāng)值發(fā)生更改時(shí), ChangeEvent 的源總是 Spinner Model :
清單1. JSpinner 事件偵聽
- ChangeListener listener = new ChangeListener() {
- public void stateChanged(ChangeEvent e) {
- SpinnerModel source = (SpinnerModel)e.getSource();
- System.out.println("The value is: " + source.getValue());
- }
- };
- model.addChangeListener(listener);
本文名稱:Swing組件的新元素SpinnerModel
標(biāo)題鏈接:http://m.fisionsoft.com.cn/article/dhoesjp.html


咨詢
建站咨詢
