首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

扩充SWT带标签的Text控件

2012-08-01 
扩展SWT带标签的Text控件参考其他扩展控件的方法实现,其实就是多个基本控件的组合使用。按照这个方法可以扩

扩展SWT带标签的Text控件

参考其他扩展控件的方法实现,其实就是多个基本控件的组合使用。按照这个方法可以扩展出其他控件。

?

扩展控件代码:

package com.strong.extend;import org.eclipse.swt.SWT;public class StrongText extends Composite {  private Text text;  private Label label;  private int labelWidthHint = 100;  private String labelStr = "Label";  private String textStr = "";  public StrongText(Composite parent, int style, int intWidthHint) {    super(parent, style);    this.labelWidthHint = intWidthHint;    initComposite();  }  public StrongText(Composite parent, int style) {    super(parent, style);    initComposite();  }  private void initComposite() {    FillLayout thisLayout = new FillLayout(SWT.NONE);    setLayout(thisLayout);    Composite composite = new Composite(this, SWT.NONE);    GridLayout compositeLayout = new GridLayout(2, false);    compositeLayout.marginTop = -5;    compositeLayout.marginLeft = -5;    compositeLayout.marginRight = -5;    composite.setLayout(compositeLayout);    label = new Label(composite, SWT.NONE);    label.setText(labelStr);    GridData labelGridData = new GridData();    labelGridData.verticalAlignment = SWT.CENTER;    labelGridData.grabExcessVerticalSpace = true;    labelGridData.horizontalAlignment = SWT.FILL;    labelGridData.widthHint = labelWidthHint;    label.setLayoutData(labelGridData);    text = new Text(composite, SWT.BORDER);    text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));    text.setText(textStr);    this.layout();  }  public String getLabelStr() {    return labelStr;  }  public void setLabelStr(String labelStr) {    this.labelStr = labelStr;    label.setText(this.labelStr);  }  public String getTextStr() {    return textStr;  }  public void setTextStr(String textStr) {    this.textStr = textStr;    text.setText(this.textStr);  }}

?扩展控件SWT可视化编辑界面


扩充SWT带标签的Text控件

实际应用代码

    StrongText textXianLuGuoLv = new StrongText(groupXianLuLieBiao, SWT.NONE, 60);    textXianLuGuoLv.setTextStr("");    textXianLuGuoLv.setBounds(10, 21, 165, 23);    textXianLuGuoLv.setLabelStr(Messages.MainApplication_XianLuGuoLv);

?

实际应用效果


扩充SWT带标签的Text控件

?

?

热点排行