<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當中的GridLayout是一個非常靈活的控件,但是在使用起來需要在控制上下一番功夫.

    大家都知道,JAVA在寫編寫窗口程序的時候,物件的添加,放置 操作起來要比.net費勁的多,但是如果用好了相關org.eclipse.layout.*包當中的相關類,也會寫出十分漂亮的界面程序.

    下面大家先看一個程序:

    源碼如下:

    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();

    ?}

    }



    這其中我們在使用的時候應該要注意以下幾點:

    1.要選擇自己適合 的Layout類型.GridLayout適合于多種情況,它大部分情況是使用在較為復雜的界面編程當中,因為復雜的界面會有相當多的控件.



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

    ?? 其中GridData的構造函數比較多,但是相關的使用我們都應該熟悉,特別是上面源程序當中使用的那個構造函數,在使用起來更容易控制GridLayout的布局.通過horizantalSpan,VerticalSpan來控制控件所占用的單元格,這樣就會控制其它控制是否在一列當中顯示還是在幾列當中顯示.前提是通過GridLayout.numColumns來設置列數.

    3.如果不設置GridData那么相關的控件都會按照相關的建立順序加入到GridLayout當中.GridData不能控制控件的顯示順序,而相關順序是對象的建立順序來控制的.這一點不要與GridData混淆了.

    希望寫這篇文章對大家學習SWT有用.


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

    FeedBack:
    # re: SWT:GridLayout 的使用需要注意的事項[未登錄]
    2008-05-26 09:20 | javaboy
    呵呵 學習了 在我主頁上轉載了  回復  更多評論
      
    <2008年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(4)

    隨筆分類(85)

    隨筆檔案(89)

    文章分類(14)

    文章檔案(42)

    收藏夾(37)

    java

    oracle

    Sybase

    搜索

    •  

    積分與排名

    • 積分 - 210747
    • 排名 - 266

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 新最免费影视大全在线播放| 日韩中文字幕免费视频| 亚洲精品在线视频| 国产免费阿v精品视频网址| 亚洲精品456在线播放| 女性自慰aⅴ片高清免费| av网站免费线看| 亚洲免费在线视频观看| 免费播放春色aⅴ视频| 日韩免费在线视频| 亚洲中文字幕乱码一区| AV在线播放日韩亚洲欧| 久久WWW免费人成一看片| 成人一级免费视频| 亚洲AV无码久久久久网站蜜桃| 亚洲高清免费视频| 最近高清中文字幕无吗免费看| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 97在线视频免费公开视频| 亚洲三级中文字幕| 亚洲免费人成在线视频观看| 男男AV纯肉无码免费播放无码| 一级做a爱片特黄在线观看免费看| 亚洲沟沟美女亚洲沟沟| 亚洲乱码中文字幕手机在线| 免费做爰猛烈吃奶摸视频在线观看| 成年免费a级毛片| 亚洲高清中文字幕免费| 久久久久亚洲精品成人网小说| 国产一级一片免费播放i| 成人免费大片免费观看网站| 国产日韩AV免费无码一区二区| 亚洲AV永久无码天堂影院 | 久久久亚洲精华液精华液精华液| 久久久亚洲精品国产| 亚洲日本中文字幕一区二区三区 | 四虎永久免费地址在线观看| 99ee6热久久免费精品6| 成人精品视频99在线观看免费| 亚洲成aⅴ人片久青草影院按摩| 亚洲婷婷天堂在线综合|