隨筆 - 119  文章 - 3173  trackbacks - 0
          <2006年12月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          交友莫獨酒,茅臺西鳳游。
          口干古井貢,心徜洋河流。
          稱多情杜康,趟無量雙溝。
          贊中華巍巍,無此不銷愁。

          常用鏈接

          留言簿(68)

          隨筆分類(136)

          隨筆檔案(122)

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 526733
          • 排名 - 92

          最新評論

          ??
          年月控制這部分分為控制按鈕,月下拉列表和年Spinner(翻譯為微調控制器。。。。。。。)。控制按鈕沒什么好說的,無非就是控制加一減一,注意邊界循環就可以了。
          Spinner的用法很簡單,看下代碼:
          ????yearChooser?=?new?Spinner(yearMonthChooser,?SWT.READ_ONLY?|?SWT.BORDER);
          //初始化,只讀,帶邊框
          ????????yearChooser.addSelectionListener(
          new?SelectionAdapter()?{
          ????????????
          public?void?widgetSelected(SelectionEvent?e)?{

          ????????????????
          int?n?=?yearChooser.getSelection();

          ????????????????basicCalendar.set(Calendar.YEAR,?n);
          ????????????????yearChooser.setSelection(n);
          ????????????????setDays();

          ????????????}

          ????????}
          );
          //加上選擇事件監聽

          ????????yearChooser.setMaximum(
          3000);//設置上限
          ????????yearChooser.setMinimum(
          1899);//設置下限
          ????????yearChooser.setIncrement(
          1);//步進值
          ????????yearChooser.setPageIncrement(
          10);//這個是按下pageup和pagedown時的步進值
          ????????yearChooser.setSelection(basicCalendar.get(Calendar.YEAR));//選擇當前年

          月的下拉列表看似簡單實則不然,因為我們要考慮國際化的問題。

          以上是中文環境和英文環境下的測試效果。關鍵點是:月的信息從Locale中取。以下是關鍵代碼:
          private?void?initMonth()?{
          ????????DateFormatSymbols?dateFormatSymbols?
          =?new?DateFormatSymbols(locale);
          ????????String[]?monthNames?
          =?dateFormatSymbols.getMonths();
          ????????
          int?month?=?monthChooser.getSelectionIndex();
          ????????
          if?(monthChooser.getItemCount()?>?0)?{
          ????????????monthChooser.removeAll();
          ????????}

          ????????
          for?(int?i?=?0;?i?<?monthNames.length;?i++)?{
          ????????????String?name?
          =?monthNames[i];
          ????????????
          if?(name.length()?>?0)?{
          ????????????????monthChooser.add(name);
          ????????????}

          ????????}

          ????????
          if?(month?<?0)?{
          ????????????month?
          =?0;
          ????????}?
          else?if?(month?>=?monthChooser.getItemCount())?{
          ????????????month?
          =?monthChooser.getItemCount()?-?1;
          ????????}
          ????????monthChooser.select(month);
          ????}


          ?
          posted on 2006-12-27 21:52 交口稱贊 閱讀(2889) 評論(0)  編輯  收藏 所屬分類: Eclipse RCP SWT
          主站蜘蛛池模板: 米泉市| 云浮市| 微山县| 临泽县| 屏东县| 沁阳市| 天峻县| 凤台县| 凌云县| 内江市| 潍坊市| 横峰县| 晋江市| 武川县| 伊春市| 玉龙| 广河县| 正宁县| 桂林市| 西林县| 芦溪县| 河曲县| 都匀市| 闵行区| 同心县| 冕宁县| 寻乌县| 陆良县| 稷山县| 修武县| 林周县| 介休市| 松溪县| 重庆市| SHOW| 寿阳县| 灵石县| 沂源县| 无为县| 巢湖市| 凌海市|