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

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

          常用鏈接

          留言簿(68)

          隨筆分類(136)

          隨筆檔案(122)

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 526701
          • 排名 - 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
          主站蜘蛛池模板: 兴海县| 海安县| 北川| 临清市| 桃源县| 福泉市| 靖远县| 志丹县| 台安县| 灵山县| 黄石市| 泸定县| 海兴县| 武邑县| 石狮市| 平湖市| 宜春市| 松江区| 淳安县| 根河市| 朝阳区| 舟曲县| 贵州省| 东海县| 绥江县| 沂南县| 密山市| 香格里拉县| 扎兰屯市| 个旧市| 罗城| 增城市| 关岭| 姜堰市| 太康县| 和静县| 金寨县| 观塘区| 金湖县| 鸡西市| 新余市|