數據加載中……
          [轉]困擾了我一天的GridBagLayout終于解決了!
          首先GridBagLayout這個布局治理器類只有一個構造函數;但是它必須和GridBagConstraints這個它的約束對象一起使用來設置組件的大小和位置!

          說到這里不得不說GridBagConstraints的幾個至關重要的屬性fill , anchor, gridx, gridy, weightx, weighty , gridwidth, gridheight , insets ipdax ,ipday

          首先FILL的作用就是當組件的大小小于它的顯示區域的時候設置是否改變它的大小由它的幾個常量值GridBagConstraints.BOTH/NONE/VERTICAL/HORIZONTAL決定!

          接著就是gridx,gridy這是組件的放置位置就不用說了

          gridwidth ,gridheight這是擴大組件的顯示區域的大小的一個是水平一個是垂直的

          還有就是anchor是組件小于顯示區域的時候組件的默認放置位置也就是東南西北中幾個屬性值

          還有就是insets是幾個組件的間距它有個構造函數new INSETS(a,b,c,d) 分別是上中下右的間距

          還有就是內部的艱巨ipdax ipday 還有weightx weighty用來設置窗口變大時,各組件跟著變大的比例,當數字越大,表示組件能得到更多的空間,默認值皆為0。當然還有其它很多小細節 我很懶所以自己去官方的API


          你不要看說得這么簡單但你要深刻體會其中的精髓卻不輕易!!!!!!!!!!!

          我自己的總結:當你設置組件的大小的時候務必要設置FILL屬性假如不設那么任你怎么設置GRIDWIDTH 和GRIDHEIGHT的值那個組件是肯定不會變的還是默認值給

          莫慌啊在想想啊 哦 還有當你設置了FILL為GridBagConstraints.BOTH的話你假如其它的組件不重新改設FILL那肯定水平會隨著你的應用程序窗口慢慢拉大而變長!所以要記者 假如不想被拉大就必須重設它的值

          還有gridwidth 和gridheight官方說的是改變顯示區域的大小 但是我自己認為應該是長和寬的比例給

          還有REMAINDER和RELATIVE這兩個屬性也很重要其中的自己慢慢體會因為用在GridBagConstraints的不同的屬性上效果也不同所

          RELATIVE
          指定此組件為其行或列(gridwidth、gridheight)中的倒數第二個組件,或者讓此組件緊跟在以前添加的組件(gridx、gridy)之后

          REMAINDER
          指定此組件是其行或列中的最后一個組件

          (( 而且默認拉大窗口不會增大顯示區域 而且假如設置了 gridwidth = GridBagConstraints.REMAINDER那么即使設置了WEIGHTX=0.0這個組件和它的左面一個也會拉大!

          其中的好處自己以后設計GUI是就會慢慢體會了

          似乎現在只記得這么多了

          假如以后想起會寫的

          因為我當初為了這個去BAIDU GOOGLE去搜遍了感覺都是些書書上的樣 說得不太清楚

          所以希望學這個的不要走彎路!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!祝大家設計GUI做得越來越漂亮!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


          ---------------------------------------------------------------------------------------
          ——使你疲勞的不是遠方的高山,而是你鞋里一粒沙子!

          posted on 2009-05-21 09:30 鋒行 閱讀(3124) 評論(0)  編輯  收藏 所屬分類: Swing

          主站蜘蛛池模板: 斗六市| 松滋市| 葫芦岛市| 涞水县| 五莲县| 右玉县| 鄂尔多斯市| 曲水县| 苏尼特左旗| 阳朔县| 房产| 仙居县| 百色市| 白沙| 巩留县| 无极县| 汉沽区| 且末县| 城固县| 和田市| 华宁县| 永仁县| 扶沟县| 东辽县| 娱乐| 西平县| 宁城县| 高雄县| 吉首市| 三门县| 荔浦县| 清水河县| 津南区| 大新县| 霍州市| 孝昌县| 琼中| 枞阳县| 东海县| 肥城市| 钟祥市|