<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 89,  comments - 98,  trackbacks - 0

    SWT當(dāng)中的GridLayout是一個(gè)非常靈活的控件,但是在使用起來(lái)需要在控制上下一番功夫.

    大家都知道,JAVA在寫(xiě)編寫(xiě)窗口程序的時(shí)候,物件的添加,放置 操作起來(lái)要比.net費(fèi)勁的多,但是如果用好了相關(guān)org.eclipse.layout.*包當(dāng)中的相關(guān)類,也會(huì)寫(xiě)出十分漂亮的界面程序.

    下面大家先看一個(gè)程序:

    源碼如下:

    package com.layout;

    import org.eclipse.swt.widgets.*;
    import org.eclipse.swt.layout.*;
    import org.eclipse.swt.SWT;

    public class CopyOfGridLayoutExc {
    ?
    ?public static void main(String[] args) {

    ??Display display = new Display();

    ???? Shell shell = new Shell(display);

    ???? shell.setText("Find (GridLayout)");

    ???? Label label = new Label(shell, SWT.NONE);

    ???? label.setText("Find what:");

    ???? Text text = new Text(shell, SWT.BORDER);

    ???? Button findButton = new Button(shell, SWT.PUSH);

    ???? findButton.setText("Find Next");

    ???? Group group = new Group(shell, SWT.NONE);

    ???? group.setLayout(new RowLayout());

    ???? Button upButton = new Button(group, SWT.RADIO);

    ???? upButton.setText("Up");

    ???? Button downButton = new Button(group, SWT.RADIO);

    ???? downButton.setText("Down");

    ???? downButton.setSelection(true);

    ???? group.setText("Direction");

    ???? Button cancelButton = new Button(shell, SWT.PUSH);

    ???? cancelButton.setText("Cancel");

    ?

    ???? /* Use a GridLayout to position the controls */

    ???? Monitor monitor = shell.getMonitor();

    ???? int width = monitor.getClientArea().width / 10;

    ???? GridLayout layout = new GridLayout(4, false);

    ???? layout.marginWidth = layout.marginHeight = 14;//layout leave's the window's space

    ???? shell.setLayout(layout);

    ???? GridData labelData =

    ???????? new GridData(SWT.FILL, SWT.CENTER, false, false);

    ???? label.setLayoutData(labelData);

    ???? GridData textData =

    ???????? new GridData(SWT.FILL,SWT.CENTER,true,false,2,1);

    ???? textData.widthHint = width;

    ???? text.setLayoutData(textData);

    ???? GridData findData =

    ???????? new GridData(SWT.FILL, SWT.CENTER, false, false);

    ???? findButton.setLayoutData(findData);

    ???? GridData groupData =

    ???????? new GridData(SWT.RIGHT,SWT.TOP,false,false,3,1);

    ???? group.setLayoutData(groupData);

    ???? GridData cancelData =

    ???????? new GridData(SWT.FILL, SWT.TOP, false, false);

    ???? cancelButton.setLayoutData(cancelData);

    ?

    ???? shell.pack();

    ???? shell.open();

    ???? while (!shell.isDisposed()) {

    ???????? if (!display.readAndDispatch()) display.sleep();

    ???? }

    ???? display.dispose();

    ?}

    }



    這其中我們?cè)谑褂玫臅r(shí)候應(yīng)該要注意以下幾點(diǎn):

    1.要選擇自己適合 的Layout類型.GridLayout適合于多種情況,它大部分情況是使用在較為復(fù)雜的界面編程當(dāng)中,因?yàn)閺?fù)雜的界面會(huì)有相當(dāng)多的控件.



    2.GridData的使用將是一個(gè)控制界面顯示的主要類.通過(guò)使用GridData我們可以很好的控制界面.

    ?? 其中GridData的構(gòu)造函數(shù)比較多,但是相關(guān)的使用我們都應(yīng)該熟悉,特別是上面源程序當(dāng)中使用的那個(gè)構(gòu)造函數(shù),在使用起來(lái)更容易控制GridLayout的布局.通過(guò)horizantalSpan,VerticalSpan來(lái)控制控件所占用的單元格,這樣就會(huì)控制其它控制是否在一列當(dāng)中顯示還是在幾列當(dāng)中顯示.前提是通過(guò)GridLayout.numColumns來(lái)設(shè)置列數(shù).

    3.如果不設(shè)置GridData那么相關(guān)的控件都會(huì)按照相關(guān)的建立順序加入到GridLayout當(dāng)中.GridData不能控制控件的顯示順序,而相關(guān)順序是對(duì)象的建立順序來(lái)控制的.這一點(diǎn)不要與GridData混淆了.

    希望寫(xiě)這篇文章對(duì)大家學(xué)習(xí)SWT有用.


    posted on 2006-09-12 10:50 水煮三國(guó) 閱讀(2489) 評(píng)論(1)  編輯  收藏 所屬分類: J2SE

    FeedBack:
    # re: SWT:GridLayout 的使用需要注意的事項(xiàng)[未登錄](méi)
    2008-05-26 09:20 | javaboy
    呵呵 學(xué)習(xí)了 在我主頁(yè)上轉(zhuǎn)載了  回復(fù)  更多評(píng)論
      
    <2006年9月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567

    常用鏈接

    留言簿(4)

    隨筆分類(85)

    隨筆檔案(89)

    文章分類(14)

    文章檔案(42)

    收藏夾(37)

    java

    oracle

    Sybase

    搜索

    •  

    積分與排名

    • 積分 - 211640
    • 排名 - 266

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 57pao国产成视频免费播放| 全免费a级毛片免费看不卡| 亚洲激情电影在线| 成人毛片18女人毛片免费视频未| 在线精品免费视频| 黄色三级三级免费看| 久久久影院亚洲精品| 成人影片麻豆国产影片免费观看 | 亚洲精品日韩中文字幕久久久| 无码人妻一区二区三区免费手机 | 亚洲国产精品一区二区九九| 97无码人妻福利免费公开在线视频 | 亚洲视频一区在线观看| 日本成人免费在线| 亚洲精品免费观看| 麻豆亚洲AV成人无码久久精品| 国产成人无码综合亚洲日韩| 日韩免费视频播放| 高清一区二区三区免费视频| 亚洲s码欧洲m码吹潮| 亚洲AV日韩AV天堂一区二区三区| 日韩免费一区二区三区| 无码国产精品一区二区免费模式| 免费在线观看亚洲| 亚洲mv国产精品mv日本mv| 亚洲最大AV网站在线观看| 成人毛片免费网站| 国产一卡二卡四卡免费| 两个人看的www免费高清| 久久久久久亚洲av无码蜜芽 | 无码AV动漫精品一区二区免费| 久久亚洲私人国产精品| 亚洲一区日韩高清中文字幕亚洲| 成年免费大片黄在线观看岛国| 在线观看片免费人成视频播放| 亚洲成AV人片高潮喷水| 亚洲国产综合第一精品小说| 亚洲AV永久精品爱情岛论坛| 亚洲AV日韩精品一区二区三区| 成年女人免费视频播放体验区| 中文字幕免费观看|