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

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

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

    Open Java Project

    Keep it simple, Stupid, Less is more

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      20 Posts :: 0 Stories :: 12 Comments :: 0 Trackbacks

    3、定制布局

    Eclipse Form提供了2個新的布局

    1TableWrapLayout

    l         問題:如果將上例中超鏈接的文本設置的足夠長

                  link.setText("This is an example of a form that is much longer and will need to wrap.");

    即使設置了SWT.WRAP,文本內容不會自動WRAP,這是因為體內容的布局是GridLayout

    l         Eclipse Form提供替代的布局TableWrapLayout:類似于GridLayout,但是具有象HTML表格一樣自動WRAP功能

    l         下面是解決超鏈接文本自動WRAP的例子:

           public void createPartControl(Composite parent) {
                  toolkit = new FormToolkit(parent.getDisplay());
                  form = toolkit.createScrolledForm(parent);
                  form.setText("Hello, Eclipse Forms");
     
                  Composite body = form.getBody();
                  TableWrapLayout layout = new TableWrapLayout();
                  body.setLayout(layout);
                  Hyperlink link = toolkit.createHyperlink(body, "Click here.", SWT.WRAP);
                  link.addHyperlinkListener(new HyperlinkAdapter() {
                    public void linkActivated(HyperlinkEvent e) {
                           System.out.println("Link activated!");
                    }
                  });
     
                  layout.numColumns = 2;
                  link.setText("This is an example of a form that is much longer and will need to wrap.");
                  TableWrapData td = new TableWrapData();
                  td.colspan = 2;
                  link.setLayoutData(td);
                  Label label = toolkit.createLabel(body, "Text field label:");
                  Text text = toolkit.createText(body, "");
                  td = new TableWrapData(TableWrapData.FILL_GRAB);
                  text.setLayoutData(td);
                  text.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER);
                  Button button = toolkit.createButton(body,
                           "An example of a checkbox in a form", SWT.CHECK);
                  td = new TableWrapData();
                  td.colspan = 2;
                  button.setLayoutData(td);
                  toolkit.paintBordersFor(body);
           }

    l         下面是程序變化的地方:

    n         TableWrapLayout替代GridLayout

    n         使用TableWrapData來提供布局數據信息

    n         設置的屬性使用colspanrowspan等來源于HTML表格單元的屬性

    l         要注意的是:需要自動WRAP的控件,需要設置成SWT.WRAP風格

    2)ColumnLayout

    l         ColumnLayoutEclipse Form提供的另一個定制布局

    l         ColumnLayout的布局方式是從上到下,從左到右

    l         在變化Form的寬度時,會自動調整控件列數以適應Form的寬度

    l         ColumnLayout的設置很簡單,通常只要設置列數的范圍(缺省是1-3

    l         在后面的相關部分會給出使用的例子

    posted on 2005-04-02 23:54 nelson_tu 閱讀(2179) 評論(0)  編輯  收藏 所屬分類: Eclipse開發
    主站蜘蛛池模板: 精品亚洲一区二区三区在线播放| 免费a级毛片高清视频不卡| 日韩成人免费视频播放| 亚洲午夜在线一区| 99爱视频99爱在线观看免费 | 噜噜嘿在线视频免费观看| 亚洲精品美女视频| 84pao国产成视频免费播放| 久久精品国产精品亚洲艾草网| 99在线免费视频| 亚洲国产成人一区二区精品区| 精精国产www视频在线观看免费| 久久综合亚洲色HEZYO国产| 久久精品无码免费不卡| 亚洲精品国产品国语在线| 拍拍拍无挡免费视频网站| 亚洲αv在线精品糸列| 无码精品人妻一区二区三区免费看| 精品国产亚洲一区二区三区| 久久青青草原国产精品免费| 亚洲人成网www| 69xx免费观看视频| 亚洲老熟女五十路老熟女bbw| 日韩一级免费视频| 一级毛片完整版免费播放一区| 亚洲免费观看视频| 24小时日本电影免费看| 久久亚洲精品国产精品婷婷| 国产免费AV片无码永久免费| 一边摸一边桶一边脱免费视频| 亚洲国产精品无码久久一线| 100部毛片免费全部播放完整| 亚洲最大中文字幕无码网站| 亚洲AⅤ优女AV综合久久久| 免费萌白酱国产一区二区三区| 亚洲一区二区电影| 国产精品自在自线免费观看 | 无码囯产精品一区二区免费| 亚洲人色大成年网站在线观看| 又大又硬又爽免费视频| 国产亚洲免费的视频看|