<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

    4、復雜控件

    (1)       ExpandableComposite

    l         Web頁面中一個通用的主題是具有收縮一部分頁面內容的能力

    l         Eclipse Form也提供了這樣一個控件:ExpandableComposite

    l         下面的代碼片斷是使用ExpandableComposite的一個例子:

                  ExpandableComposite ec = toolkit.createExpandableComposite(body,

                    ExpandableComposite.TREE_NODE

                           | ExpandableComposite.CLIENT_INDENT);

                  ec.setText("Expandable Composite title");

                  String ctext = "We will now create a somewhat long text so that "

                    + "we can use it as content for the expandable composite. "

                    + "Expandable composite is used to hide or show the text using the "

                    + "toggle control";

                  Label client = toolkit.createLabel(ec, ctext, SWT.WRAP);

                  ec.setClient(client);

                  td = new TableWrapData();

                  td.colspan = 2;

                  ec.setLayoutData(td);

                  ec.addExpansionListener(new ExpansionAdapter() {

                    public void expansionStateChanged(ExpansionEvent e) {

                           form.reflow(true);

                    }

                  });

    l         這個控件有很多風格,TREE_NODE使得該控件具有樹型節點的展開、收縮功能;而TWISTIE使得控件具有三角箭頭風格

    l         EXPANDED使得初始展開顯示

    l         CLIENT_INDENT使得Client內容縮進對齊

    l         ExpandableComposite呈現為激活控件和標題,而可以展開、收縮的內容稱為Client

    l         Client必須是可展開的composite(上例是Label控件)

    l         最后需要添加Expansion監聽器在狀態變化時,reflow Form(即根據控件的新的大小重新定位和更新滾動條)

    l         下面是上例的運行結果:

    o_ExpandableComposite.jpg


    2)Section

    l         Eclipse Form中最常用的定制控件就是Section(在PDE中到處可見)

    l         Section擴展ExpandableComposite,但具有下面的新特性:

    n         在標題下面有一個分隔控件

    n         在分隔控件下面可以有一個描述文本

    l         下面的代碼片斷是使用Section的一個例子,代碼和ExpandableComposite沒有太大差別,這里是用了TWISTIE風格:

                  Section section = toolkit.createSection(body, Section.DESCRIPTION

                           | Section.TWISTIE | Section.EXPANDED);

                  td = new TableWrapData(TableWrapData.FILL);

                  td.colspan = 2;

                  section.setLayoutData(td);

                  section.addExpansionListener(new ExpansionAdapter() {

                    public void expansionStateChanged(ExpansionEvent e) {

                           form.reflow(true);

                    }

                  });

                  section.setText("Section title");

                  toolkit.createCompositeSeparator(section);

                  section

                           .setDescription("This is the description that goes below the title");

                  Composite sectionClient = toolkit.createComposite(section);

                  sectionClient.setLayout(new GridLayout());

                  button = toolkit.createButton(sectionClient, "Radio 1", SWT.RADIO);

                  button = toolkit.createButton(sectionClient, "Radio 2", SWT.RADIO);

                  section.setClient(sectionClient);

    l         下面是上例的運行結果:

    r_Section.jpg

    posted on 2005-04-10 23:19 nelson_tu 閱讀(1795) 評論(0)  編輯  收藏 所屬分類: Eclipse開發
    主站蜘蛛池模板: 亚洲精品视频久久| 亚洲精品乱码久久久久久久久久久久| 久久亚洲sm情趣捆绑调教| 久久国产乱子伦精品免费不卡| 亚洲色大成网站www永久一区| 又黄又大的激情视频在线观看免费视频社区在线| 日韩高清免费在线观看| 色欲色欲天天天www亚洲伊| 日本免费一本天堂在线| 国产精品亚洲精品爽爽| 亚洲福利精品一区二区三区| 羞羞视频免费网站含羞草| 亚洲国产成人精品女人久久久| 七次郎成人免费线路视频| 亚洲av综合avav中文| 99精品视频免费观看| 亚洲专区一路线二| 日本午夜免费福利视频| 香蕉国产在线观看免费| 亚洲人成无码网站| 18观看免费永久视频| 亚洲精品第一国产综合亚AV| 国产人成免费视频| sihu国产精品永久免费| 亚洲av日韩av激情亚洲| ww在线观视频免费观看| 亚洲精品色在线网站| 亚洲精品成人网站在线观看| 114级毛片免费观看| 国产精品亚洲lv粉色| 亚洲色中文字幕无码AV| 91香蕉视频免费| 老司机精品视频免费| 亚洲av日韩av天堂影片精品| 四虎成人免费影院网址| 一级黄色免费网站| 精品亚洲成在人线AV无码| 久久精品国产亚洲Aⅴ香蕉| 亚洲美女视频免费| 人妻仑乱A级毛片免费看| 亚洲国产精品综合福利专区|