Draw2d中的布局管理器Layout比較

2021-09-06 11:14:44 字數 1462 閱讀 6163

最近在研究eclipse中的gef開發,在跟著gef-whole-upload教程做乙個gef應用程式的例子時,發現figure上的控制項無法顯示,谷歌了很久也沒找到解決方案,最後終於發現是layout的問題。同時發現還沒有人進行過這方面的研究,於是打算寫一篇文章對各種layout進行比較。由於gef的繪圖部分使用的是draw2d,因此本文是關於draw2d中的layout比較。

draw2d中常用的layout有borderlayout、*******layout、flowlayout、gridlayout、xylayout。它們都繼承於abstractlayout,類圖如下:

下面本文將對這些layout的用法進行說明。

borderlayout是按五個區域進行布局,即上下左右中。**如下:

protected ifigure createfigure()
效果如下:

*******layout顧名思義,類似於工具欄按鈕的布局,可以設定控制項布局的方向、間隔等,**如下:

protected ifigure createfigure()
效果如下:

flowlayout與*******layout類似,都是繼承於orderlayout。唯一的不同是flowlayout允許控制項布局的時候換行,而*******layout只能有一行。**如下:

protected ifigure createfigure()
效果如下:

gridlayout是網格布局,即將控制項按照網格的形式排列,可以通過numcolumns引數指定有幾列。具體每個格仔的大小可以通過griddata修改。**如下:

protected ifigure createfigure()
效果如下:

xylayout是通過絕對座標進行定位,在**中指定每個控制項的座標即可。**如下:

protected ifigure createfigure()
效果如下:

java中的AWT布局管理器

布局管理器 按照某種規則布局元件 常用布局管理器 flowlayout 1.從左到右按順序配置在container中,若到達右邊界,則會折回到下一行中 3.構造方法 flowlayout flowlayout int align flowlayout int align,int hgap,int v...

python中Tkinter的布局管理器Grid

grid 網格 布局管理器會將控制項放置到乙個二維的 裡。主控件被分割成一系列的行和列,中的每個單元 cell 都可以放置乙個控制項。grid管理器是tkinter裡面最靈活的幾何管理布局器。如果你不確定什麼情況下從三種布局管理中選擇,你至少要保證自己會使用grid。當你設計對話方塊的時候,grid...

qt布局巢狀 QT 布局管理器的巢狀使用

int main int argc,char ar qwidget win new qwidget 0 qlineedit line new qlineedit win line settext line qtextedit text new qtextedit win text settext t...