通常,元件構建在容器類中,容器構建在主窗體(shell)中,主窗體也是容器,也就是說,容器不僅可以容納元件,也可以容納容器。有了容器,就可以通過 它來對元件進行集體操作。例如,容器在介面上移動時,其上的元件也會隨著容器移動,容器隱藏,其元件也會被隱藏,容器銷毀(dispose),其元件也會 被銷毀。
1 面板
面板(composite類)是最常用的容器。主窗體(shell)是面板(composite)的子類。面板的構造方法格式如下:
composite(composite parent,int style)
第 乙個引數表示該容器建立在哪個容器上,第二個引數表示容器的式樣。composite的式樣一般都是用swt.none,這時composite在介面是 不顯示出來的,只是發揮著容器的作用。如果要讓容器形成凹陷效果,可以用swt.border式樣。例如,在主窗體中建立乙個容器:
composite composite=new composite(shell,swt.none);
composite的常用方法:
getlayout():得到布局管理器。
getlayoutdata():得到布局資料。
getparent():得到容納該容器的父容器。
getshell():得到容納該容器的shell。
layout():將容器上的元件重新布局,相當於重新整理。
package edu.ch4;
import org.eclipse.swt.swt;
import org.eclipse.swt.widgets.display;
import org.eclipse.swt.widgets.shell;
import org.eclipse.swt.widgets.composite;
import org.eclipse.swt.widgets.label;
public class sample4_8 }
display.dispose(); //銷毀display }
}2 分組框
分組框(group類)是面板(composite類)的子類,所以兩者用法基本相同。主要區別是group顯示有乙個方框,且方框線上還可以顯示說明文字。
package edu.ch4;
import org.eclipse.swt.swt;
import org.eclipse.swt.widgets.*;
public class sample4_9 }
display.dispose(); //銷毀display }
}3 選項卡
選項卡包括乙個選項卡(tabfolder類)和乙個選項頁(tabitem類),tabfolder是容器,可以容納其他容器和元件,但tabitem 不是容器,可以把它看成是乙個選項標籤,tabfolder通過tabitem來對其中的元件進行控制。每乙個tabitem用setcontrol() 方法來控制乙個介面元件。
package edu.ch4;
import org.eclipse.swt.swt;
import org.eclipse.swt.widgets.*;
public class sample4_10
tabitem tabitem2=new tabitem(tabfolder,swt.none); //宣告第2個選項頁
tabitem2.settext("選項2");
shell.pack();
shell.open();
while(!shell.isdisposed()) }
display.dispose(); //銷毀display }
}
SWT JFace常用元件 容器類
通常,元件構建在容器類中,容器構建在主窗體 shell 中,主窗體也是容器,也就是說,容器不僅可以容納元件,也可以容納容器。有了容器,就可以通過 它來對元件進行集體操作。例如,容器在介面上移動時,其上的元件也會隨著容器移動,容器隱藏,其元件也會被隱藏,容器銷毀 dispose 其元件也會 被銷毀。1...
swt jface元件通用屬性
swt jface中的每乙個元件之間都有很多同名的方法,很幸運,這些同名方法在各個元件的作用和用法是相同或相似的,在此將一些常用的方法簡述如下 1 settext string string 說明 設定元件的標籤文字。例子 button.settext 確定 2 settooltiptext str...
Flutter 容器類元件之裝飾容器
decoratedbox可以在其子元件繪製前後繪製一些裝飾,例如背景,邊框,漸變等。const decoratedbox assert decoration null assert position null super key key,child child oxdecoration 裝飾容器 d...