freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java程序設(shè)計(jì)之swt教程(編輯修改稿)

2025-07-22 07:00 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 容器。有了容器,就可以通過(guò)它來(lái)對(duì)組件進(jìn)行集體操作。例如,容器在界面上移動(dòng)時(shí),其上的組件也會(huì)隨著容器移動(dòng),容器隱藏,其組件也會(huì)被隱藏,容器銷毀(dispose),其組件也會(huì)被銷毀。 面板面板(Composite類)是最常用的容器。主窗體(shell)是面板(Composite)的子類。面板的構(gòu)造方法格式如下:Composite(Composite parent,int style)第一個(gè)參數(shù)表示該容器創(chuàng)建在哪個(gè)容器上,第二個(gè)參數(shù)表示容器的式樣。,這時(shí)Composite在界面是不顯示出來(lái)的,只是發(fā)揮著容器的作用。如果要讓容器形成凹陷效果。例如,在主窗體中創(chuàng)建一個(gè)容器:Composite posite=new Composite(shell,)。Composite的常用方法:getLayout():得到布局管理器。getLayoutData():得到布局?jǐn)?shù)據(jù)。getParent():得到容納該容器的父容器。getShell():得到容納該容器的Shell。layout():將容器上的組件重新布局,相當(dāng)于刷新。 面板示例。package 。import 。import 。import 。import 。import 。public class Sample4_8 { public static void main(String[] args) { Display display=new Display()。//創(chuàng)建一個(gè)display對(duì)象。 final Shell shell=new Shell(display)。//shell是程序的主窗體 (容器示例)。 Composite posite1=new Composite(shell,)。 (10,10,100,50)。 Composite posite2=new Composite(shell,)。 (120,10,100,50)。 Label lb1=new Label(posite1,)。 (面板1)。 ()。 Label lb2=new Label(posite2,)。 (面板2)。 ()。 ()。 ()。 while(!()){ //如果主窗體沒(méi)有關(guān)閉則一直循環(huán) if(!()){ //如果display不忙 ()。 //休眠 } } ()。 //銷毀display }}。 面板 分組框 分組框 分組框(Group類)是面板(Composite類)的子類,所以兩者用法基本相同。主要區(qū)別是Group顯示有一個(gè)方框,且方框線上還可以顯示說(shuō)明文字。 分組框示例。package 。import 。import .*。public class Sample4_9 { public static void main(String[] args) { Display display=new Display()。//創(chuàng)建一個(gè)display對(duì)象。 final Shell shell=new Shell(display)。//shell是程序的主窗體 (分組框示例)。 Group group1=new Group(shell,)。 //創(chuàng)建分組框 (錄入信息)。 //設(shè)置分組框說(shuō)明信息 (10,20,200,100)。 Label lb1=new Label(group1,)。 //在分組框中加入組件 (姓名:)。 (10,20,70,20)。 Text text1=new Text(group1,)。 (90,20,70,20)。 Label lb2=new Label(group1,)。 (地址:)。 (10,50,70,20)。 Text text2=new Text(group1,)。 (90,50,70,20)。 ()。 ()。 while(!()){ //如果主窗體沒(méi)有關(guān)閉則一直循環(huán) if(!()){ //如果display不忙 ()。 //休眠 } } ()。 //銷毀display }}。 選項(xiàng)卡 選項(xiàng)卡包括一個(gè)選項(xiàng)卡(TabFolder類)和一個(gè)選項(xiàng)頁(yè)(TabItem類),TabFolder是容器,可以容納其他容器和組件,但TabItem不是容器,可以把它看成是一個(gè)選項(xiàng)標(biāo)簽,TabFolder通過(guò)TabItem來(lái)對(duì)其中的組件進(jìn)行控制。每一個(gè)TabItem用setControl()方法來(lái)控制一個(gè)界面組件。 選項(xiàng)卡示例。package 。import 。import .*。public class Sample4_10 { public static void main(String[] args) { Display display=new Display()。//創(chuàng)建一個(gè)display對(duì)象。 final Shell shell=new Shell(display)。//shell是程序的主窗體 (選項(xiàng)卡示例)。 TabFolder tabFolder=new TabFolder(shell,)。//聲明一個(gè)選項(xiàng)卡容器 (5,5,180,130)。 //設(shè)置選項(xiàng)卡的位置和大小 TabItem tabItem1=new TabItem(tabFolder,)。//聲明第1個(gè)選項(xiàng)頁(yè) (選項(xiàng)1)。 //設(shè)置選項(xiàng)頁(yè)的標(biāo)題 { //創(chuàng)建第1個(gè)分組框,建立在tabFolder上 Group group1=new Group(tabFolder,)。 (錄入信息)。 //設(shè)置分組框說(shuō)明信息 (group1)。 //讓tabItem1控制group1 Label lb1=new Label(group1,)。 //注意Label建立在group1上 (姓名:)。 (10,20,70,20)。 Text text1=new Text(group1,)。 (90,20,70,20)。 Label lb2=new Label(group1,)。 (地址:)。 (10,50,70,20)。 Text text2=new Text(group1,)。 (90,50,70,20)。 } TabItem tabItem2=new TabItem(tabFolder,)。 //聲明第2個(gè)選項(xiàng)頁(yè) (選項(xiàng)2)。 { //創(chuàng)建第2個(gè)分組框,建立在tabFolder上 Group group2=new Group(tabFolder,)。 (group2)。 //讓tabItem2控制group2 (興趣愛(ài)好)。 Button bt1=new Button(group2,)。 (20,20,70,20)。 (音樂(lè))。 Button bt2=new Button(group2,)。 (20,50,70,20)。 (美術(shù))。 Button bt3=new Button(group2,)。 (20,80,70,20)。 (體育)。 } ()。 ()。 while(!()){ //如果主窗體沒(méi)有關(guān)閉則一直循環(huán) if(!()){ //如果display不忙 ()。 //休眠 } } ()。 //銷毀display }}、。 選項(xiàng)1 選項(xiàng)2 布局管理器 在 Java 中, GUI 程序開(kāi)發(fā)的目標(biāo)之一是跨平臺(tái),而每種類型操作系統(tǒng)對(duì)屏幕的定義不一樣,所以 Swing 中引入了布局的概念,對(duì)子組件的位置和大小等信息進(jìn)行定義。 SWT 中也采用了布局方式,用戶可使用布局來(lái)控制組件中元素的位置和大小等信息。 組件可以用方法setBounds (int x, int y, int width, int height) 來(lái)指定該組件相對(duì)于父組件的位置和組件的大小。組件的這種定位方式稱為絕對(duì)定位。當(dāng)組件數(shù)量較多,布局較復(fù)雜時(shí),則要使用布局管理器LayoutManager來(lái)進(jìn)行定位,這時(shí),每個(gè)控件的坐標(biāo)X、Y、寬度和高度都是通過(guò) LayoutManager 設(shè)置的,這種定位方式稱為托管定位。SWT 提供了一些常用的布局管理器供用戶使用;在本章中,將介紹四種基本的布局管理器: FillLayout 、 RowLayout 、 GridLayout 和 FormLayout 。在布局管理器中,每當(dāng)重新設(shè)置復(fù)合組件的大小,都需要進(jìn)行定位。 布局管理器常常是專為某一個(gè)復(fù)合組件設(shè)計(jì)的。一些布局管理器只使用它們自身的參數(shù)就可以控制,而另一些布局管理器還需要其它參數(shù)( LayoutData ),該參數(shù)是在設(shè)置布局管理器的復(fù)合組件中的每個(gè)控件上指定的。 SWT 中常用的布局管理器有如下一些: FillLayout :充滿式布局,在容器中以相同的大小以單行或單列排列組件。 RowLayout :行列式布局,以單行或多行的方式定制組件的排列方式。 GridLayout :網(wǎng)格式布局,以網(wǎng)格的方式進(jìn)行布局,組件可以占用指定的一個(gè)或幾個(gè)網(wǎng)格。 FormLayout :表格式布局,通過(guò)定義組件四個(gè)邊的距離來(lái)排列組件,被引用的相對(duì)的組件可以是父組件,也可以是同一容器中的其它組件。 充滿式布局充滿式布局(FillLayout類)是最簡(jiǎn)單的布局管理器。它把組件按一行或一列充滿整個(gè)容器,并強(qiáng)制組件的大小一致。一般,組件的高度與最高組件相同,寬度與最寬組件相同。FillLayout不能折行,不能設(shè)置邊界距離和間距。如果容器中只有一個(gè)組件,則該組件會(huì)充滿整個(gè)容器。1.構(gòu)造方法:FillLayout() 創(chuàng)建按一行充滿容器的對(duì)象。FillLayout(int type) 創(chuàng)建按指定類型充滿容器的對(duì)象,指定類型(type)有: 按一行充滿容器。 按一列充滿容器。2.常用屬性:int type 指定組件充滿容器的類型。type的取值同上。要將組件按一列充滿容器,可以設(shè)置type屬性,代碼如下:FillLayout filllayout=new FillLayout()。 //創(chuàng)建FillLayout對(duì)象=。 //設(shè)置type的值(filllayout)。 //將FillLayout對(duì)象用于shell上new Button(shell,).setText(超寬按鈕1)。//在shell中創(chuàng)建按鈕 new Button(shell,).setText(按鈕2)。 new Button(shell,).setText(按鈕3)。 new Button(shell,).setText(按鈕4)。 充滿式布局示例。package 。import .*。import .*。import .*。public class Sample4_11 { public static void main(String[] args) { Display display=new Display()。//創(chuàng)建一個(gè)display對(duì)象。 final Shell shell=new Shell(display)。//shell是程序的主窗體 (FillLayout示例)。 FillLayout filllayout=new FillLayout()。 //創(chuàng)建FillLayout對(duì)象 (filllayout)。 //將FillLayout對(duì)象用于shell上 new Button(shell,).setText(超寬按鈕1)。//在shell中創(chuàng)建按鈕 new Button(shell,).setText(按鈕2)。 new Button(shell,).setText(按鈕3)。 new Button(shell,).setText(按鈕4)。 ()。 ()。 while(!()){ //如果主窗體沒(méi)有關(guān)閉則一直循環(huán) if(!()){ //如果display不忙 ()。 //休眠 } } ()。 //銷毀display }}。 FillLayout水平布局 FillLayout垂直布局如果要將按鈕按豎直方向排列,也可以只修改以下一行語(yǔ)句:Layout layout=new FillLayout()。 行列式布局行列式布局(RowLayout類)可以使組件折行顯示,可以設(shè)置邊界距離和間距。另外,還可以對(duì)每個(gè)組件通過(guò)setLayoutData()方法設(shè)置RowData對(duì)象。RowData用來(lái)設(shè)置組件的大小。1.構(gòu)造方法:RowLayout() 創(chuàng)建按行放置組件的對(duì)象。RowLayout(int type) 創(chuàng)建按指定類型放置組件的對(duì)象。指定類型(type)有: 按列放置組件。 按行放置組件。2.常用屬性:int marginWidth:組件距容器邊緣的寬度(像素),默認(rèn)值為0。int marginHeight:組件距容器邊緣的高度(像素),
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1