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

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

          常用鏈接

          留言簿(68)

          隨筆分類(136)

          隨筆檔案(122)

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 527549
          • 排名 - 92

          最新評論

          ??
          年月控制這部分分為控制按鈕,月下拉列表和年Spinner(翻譯為微調(diào)控制器。。。。。。。)。控制按鈕沒什么好說的,無非就是控制加一減一,注意邊界循環(huán)就可以了。
          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();

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

          ????????}
          );
          //加上選擇事件監(jiān)聽

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

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

          以上是中文環(huán)境和英文環(huán)境下的測試效果。關(guān)鍵點是:月的信息從Locale中取。以下是關(guān)鍵代碼:
          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 交口稱贊 閱讀(2893) 評論(0)  編輯  收藏 所屬分類: Eclipse RCP SWT
          主站蜘蛛池模板: 银川市| 邢台市| 阿鲁科尔沁旗| 兴宁市| 容城县| 镇坪县| 凌源市| 碌曲县| 藁城市| 南漳县| 华阴市| 长白| 油尖旺区| 兴化市| 崇礼县| 太保市| 柏乡县| 东乌| 绥德县| 阳江市| 蓬莱市| 枣强县| 桐梓县| 古田县| 宝应县| 刚察县| 扶绥县| 密云县| 称多县| 蓝山县| 林甸县| 大新县| 通州市| 凭祥市| 永登县| 襄垣县| 苏尼特右旗| 大理市| 石棉县| 鲁甸县| 平安县|