posts - 1,  comments - 25,  trackbacks - 0

          年月控制這部分分為控制按鈕,月下拉列表和年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 2008-03-10 22:53 Daniel 閱讀(364) 評論(0)  編輯  收藏 所屬分類: SWT

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          <2025年8月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          常用鏈接

          留言簿(3)

          隨筆檔案

          文章分類

          文章檔案

          相冊

          搜索

          •  

          最新評論

          主站蜘蛛池模板: 开封市| 崇文区| 秦皇岛市| 吉林省| 鹿泉市| 德庆县| 汉沽区| 南乐县| 镇康县| 方城县| 平顶山市| 平定县| 天气| 铁岭市| 朔州市| 西吉县| 达日县| 碌曲县| 壤塘县| 冷水江市| 兴文县| 沂水县| 安泽县| 吉木萨尔县| 武乡县| 年辖:市辖区| 怀柔区| 武胜县| 中超| 麻城市| 宜君县| 平湖市| 贵州省| 鄂温| 驻马店市| 紫阳县| 麦盖提县| 龙井市| 蒙阴县| 乳山市| 方城县|