<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開發
    主站蜘蛛池模板: 大地资源网高清在线观看免费 | 国产精品永久免费视频| 在线永久免费观看黄网站| 日韩亚洲国产综合高清| 丁香花在线观看免费观看| 亚洲中文字幕一二三四区| 成人毛片免费观看视频在线| 精品亚洲AV无码一区二区三区| 24小时日本在线www免费的| 在线精品亚洲一区二区| 国产黄色片在线免费观看| 免费播放国产性色生活片| 亚洲一级黄色视频| a级毛片无码免费真人久久| 久久久久亚洲精品成人网小说| 99热在线精品免费播放6| 亚洲免费在线视频| 内射干少妇亚洲69XXX| 青青青国产在线观看免费| 亚洲人成色在线观看| 8090在线观看免费观看| 77777亚洲午夜久久多喷| 国产无遮挡又黄又爽免费视频 | 8x8x华人永久免费视频| 亚洲w码欧洲s码免费| 免费va人成视频网站全| 国色精品va在线观看免费视频| 在线电影你懂的亚洲| 黄网址在线永久免费观看 | 亚洲A∨无码无在线观看| 成人免费网站在线观看| 成av免费大片黄在线观看| 亚洲网站视频在线观看| 国产精品久久久久影院免费| 91视频免费网站| 亚洲国产成人91精品| 久久亚洲色一区二区三区| 国产精彩免费视频| 成人在线免费视频| 亚洲人成网站18禁止久久影院| 亚洲精品天堂成人片?V在线播放|