獨自等待
          那曾經從自己身邊溜走的人……
          posts - 0,comments - 3,trackbacks - 0
              在SWT編程中,用GirdLayout布局好組件時,有時候會碰到這種情況:某些組件可能在運行態時需要根據選項被隱藏/顯示。通常我們會把這組組件放置在同一個Composite中,并設置Composite.setVisible(false)就可以了,但是若該Composite位于GridLayout布局的中間位置,將其隱藏后,仍然會留下空白區,后面的組件并不會收縮上去重新布局,經過試驗找到了一個比較完美的解決辦法,如以下的代碼片段:
                  switch (iIndex) {
                      
          case 0{
                          
          if(grpExpression.getLayoutData() instanceof GridData) {
                              GridData gd 
          = (GridData)grpExpression.getLayoutData();
                              gd.heightHint 
          = -1;
                              grpExpression.setLayoutData(gd);
                              grpExpression.layout(
          true);
                              rootComposit.layout(
          true);
                          }

                          grpObject.setVisible(
          false);
                          
          break;
                      }
           
                      
          case 2{
                          
          if(grpExpression.getLayoutData() instanceof GridData) {
                              GridData gd 
          = (GridData)grpExpression.getLayoutData();
                              gd.heightHint 
          = -22;  //設成非-1的任何小于0的值即可
                              grpExpression.setLayoutData(gd);
                              grpExpression.layout(
          true);
                              rootComposit.layout(
          true);
                          }

                          grpObject.setVisible(
          true);
                          
          break;
                      }

                  }


              上例中grpExpression位于布局中段,grpObject位于布局末尾
          posted on 2008-06-02 10:01 自由 閱讀(1033) 評論(0)  編輯  收藏 所屬分類: SWT

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


          網站導航:
           
          主站蜘蛛池模板: 临西县| 射阳县| 万源市| 顺义区| 高淳县| 余庆县| 贺兰县| 清河县| 松滋市| 公主岭市| 洞口县| 丁青县| 巴楚县| 图们市| 亳州市| 南康市| 霞浦县| 阿巴嘎旗| 光泽县| 尚志市| 西安市| 营山县| 安庆市| 大厂| 荔波县| 福建省| 监利县| 库车县| 新乡市| 水城县| 固安县| 文山县| 宝清县| 民县| 伊吾县| 鄯善县| 清苑县| 崇明县| 江西省| 枞阳县| 绥宁县|