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

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

          常用鏈接

          留言簿(68)

          隨筆分類(136)

          隨筆檔案(122)

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 526712
          • 排名 - 92

          最新評論

          ?對星期這塊的要求無非是以下幾個點:
          1:支持多語言。
          2:支持動態布局。
          3:支持任意星期開始。這個解釋一下,比如有的國家一個星期的開始是星期一有的是星期日,也有可能是星期X。
          老規矩上圖,看圖說話:
          中文環境,星期日為星期開始。
          中文環境,星期二為星期開始。
          英文環境,星期日為星期開始。
          日文環境,星期日為星期開始。

          自動適應布局的效果。總體思想是用GridLayout布局。一行七列。為了看得清楚,特意加了BORDER效果。



          ?以下是關鍵代碼:
          private?void?initDayTitle()?{

          ????????dayTitles?
          =?new?Label[7];
          ????????
          for?(int?i?=?0;?i?<?dayTitles.length;?i++)?{
          ????????????
          final?Label?label?=?new?Label(dayTitle,?SWT.CENTER);
          ????????????label.setLayoutData(
          new?GridData(SWT.FILL,?SWT.CENTER,?true,?true));
          ????????????dayTitles[i]?
          =?label;
          ????????}

          ????????DateFormatSymbols?dateFormatSymbols?
          =?new?DateFormatSymbols(locale);
          ????????String[]?dayNames?
          =?dateFormatSymbols.getShortWeekdays();
          ????????
          int?minLength?=?Integer.MAX_VALUE;
          ????????
          for?(int?i?=?0;?i?<?dayNames.length;?i++)?{
          ????????????
          int?len?=?dayNames[i].length();
          ????????????
          if?(len?>?0?&&?len?<?minLength)?{
          ????????????????minLength?
          =?len;
          ????????????}
          ????????}
          ????????
          if?(minLength?>?2)?{
          ????????????
          for?(int?i?=?0;?i?<?dayNames.length;?i++)?{
          ????????????????
          if?(dayNames[i].length()?>?0)?{
          ????????????????????
          if?(locale.equals(Locale.CHINA))?{
          ????????????????????????
          if?(dayNames[i].length()?>?2)?{
          ????????????????????????????dayNames[i]?
          =?dayNames[i].substring(2,?3);
          ????????????????????????}
          ????????????????????}?
          else?{
          ????????????????????????
          if?(dayNames[i].length()?>?0)?{
          ????????????????????????????dayNames[i]?
          =?dayNames[i].substring(0,?3);
          ????????????????????????}
          ????????????????????}
          ????????????????}
          ????????????}
          ????????}
          ????????firstDayOfWeek?
          =?basicCalendar.getFirstDayOfWeek();
          ????????
          int?d?=?firstDayOfWeek;
          ????????
          for?(int?i?=?0;?i?<?dayTitles.length;?i++)?{
          ????????????Label?labelt?
          =?dayTitles[i];
          ????????????labelt.setText(dayNames[d]);
          ????????????labelt.setBackground(getBackground());

          ????????????
          if?(d?==?Calendar.SUNDAY)?{
          ????????????????labelt.setForeground(getDisplay().getSystemColor(SWT.COLOR_RED));
          ????????????}?
          else?if?(d?==?Calendar.SATURDAY)?{
          ????????????????labelt.setForeground(getDisplay().getSystemColor(SWT.COLOR_GREEN));
          ????????????}?
          else?{
          ????????????????labelt.setForeground(getForeground());
          ????????????}

          ????????????d
          ++;
          ????????????
          if?(d?>?dayTitles.length)?{
          ????????????????d?
          -=?dayTitles.length;
          ????????????}
          ????????}

          ????}

          posted on 2006-12-29 11:25 交口稱贊 閱讀(1659) 評論(1)  編輯  收藏 所屬分類: Eclipse RCP SWT

          FeedBack:
          # re: 打造完美SWT日期選擇控件:(六)星期 2008-06-22 11:23 lhzw2001
          mark   回復  更多評論
            
          主站蜘蛛池模板: 凌云县| 深水埗区| 庄浪县| 靖江市| 高尔夫| 平遥县| 浠水县| 凤山市| 缙云县| 邵阳市| 高要市| 新竹县| 楚雄市| 吴旗县| 阳朔县| 连平县| 南昌市| 巴林左旗| 高碑店市| 张北县| 盐边县| 新宾| 四会市| 额济纳旗| 托克逊县| 陆川县| 马边| 永安市| 香格里拉县| 庆阳市| 扬中市| 万年县| 宜良县| 通化县| 鹰潭市| 福建省| 唐河县| 井冈山市| 武陟县| 武穴市| 武冈市|