`
simen_net
  • 浏览: 306325 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

扩展SWT带标签的Text控件

    博客分类:
  • SWT
 
阅读更多

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

 

扩展控件代码:

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可视化编辑界面


实际应用代码

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

 

实际应用效果


 

 

  • 大小: 2 KB
  • 大小: 2.3 KB
分享到:
评论

相关推荐

    SWT基础代码涵盖其所有控件

    SWT提供了丰富的控件集,包括按钮(Button)、文本框(Text)、列表(List)、表格(Table)、树(Tree)、菜单(Menu)、对话框(Dialog)等。每个控件都有其特定的功能和用途,比如按钮用于执行操作,文本框用于...

    SWT控件2

    SWT中的`Text`控件用于接收用户的文本输入,可以用于简单的单行输入,也可以扩展为多行文本区域。这个文件可能演示了如何创建、配置、读取和处理用户输入的文本,包括事件监听、格式化、验证等操作。 在SWT中,`...

    SWT控件

    SWT通过`Widget`类作为所有控件的基础,包括`Composite`、`Button`、`Text`等。开发者可以通过`Display`对象创建一个窗口,并在窗口内添加各种控件。 2. **布局管理**: SWT提供多种布局管理器,如`FillLayout`、...

    SWT 插件包 (windows 环境)

    4. **编写代码**:现在你可以开始使用SWT提供的控件,如按钮(Button)、文本框(Text)、列表(List)、树(Tree)等,创建你的GUI界面了。 **Eclipse SWT** Eclipse SWT是Eclipse IDE的核心组件之一,它允许...

    SWT-designer的用法

    - **Button**:提供用户交互,可以有多种类型,如 SWT.BORDER(带边框的按钮),SWT.CHECK(复选按钮),SWT.PUSH(普通按钮)和 SWT.RADIO(单选按钮)。 3. **Text 控件** - **Text**:允许用户输入文本,可以...

    swt工具文档 swt工具文档

    4. **可扩展性**: SWT允许开发者创建自定义控件,通过组合现有Widget实现新的功能。 5. **兼容性**: SWT支持多种操作系统,如Windows、Linux、macOS等,为跨平台开发提供了便利。 **使用SWT进行开发** 1. **初始...

    SWT教程

    - 自定义控件:学习如何创建自定义的SWT控件,扩展SWT的功能。 通过本教程的学习,你将掌握SWT的核心概念,能够使用SWT和JFace构建功能丰富的Java GUI应用程序。实践是检验真理的唯一标准,建议在学习过程中不断...

    SWT API

    - **Label**:标签控件,用于显示静态文本信息。 - **Table**和`Tree`:用于展示数据列表和层次结构的数据,可以通过`TableViewer`和`TreeViewer`进行扩展,实现更丰富的功能。 **3. JFace与SWT的关系** `JFace`...

    SWT API 帮助文档 及源码

    1. **控件(Widgets)**:SWT 提供了各种原生控件,如按钮(Button)、文本框(Text)、列表(List)、表格(Table)、树(Tree)等。这些控件直接映射到操作系统底层的控件,因此在不同平台上表现一致。 2. **事件...

    eclipse -- swt

    3. **可扩展性**:SWT允许开发者自定义控件,以满足特定需求。 4. **事件驱动**:SWT使用事件模型来处理用户交互,这使得代码更简洁,易于理解和维护。 5. **与JFace集成**:JFace是建立在SWT之上的更高层次的API,...

    Swt的API使用说明

    Swt API提供了多种控件,如按钮(Button)、文本框(Text)、列表(List)、组合框(Combo)、滚动条(ScrollBar)等,这些控件与各个操作系统平台的原生控件保持一致,提供更好的用户体验。例如,`Button`类用于...

    swt.zip_SWT

    - **控件(Widgets)**:`Button`、`Text`、`Label`等是SWT中的基本控件,它们对应着GUI中的常见元素。开发者可以创建这些控件,设置属性,添加事件监听器,以响应用户的操作。 - **事件处理**:通过`Listener`接口...

    SWT 案例之学习精华

    8. **自定义组件**:除了内置组件,开发者还可以通过继承和扩展SWT组件,创建自己的定制控件,以满足特定的界面需求。 9. **性能优化**:由于SWT直接调用操作系统API,它的性能通常优于AWT和Swing。了解如何优化SWT...

    SWT/JFACE API

    1. **控件**:SWT提供了一系列基本和复杂的控件,如`Button`, `Text`, `Label`, `Table`, `Composite`, `Shell`等,开发者可以利用这些控件构建用户界面。 2. **布局管理**:SWT支持多种布局管理器,如`FillLayout`,...

    swt design for eclipse 3.2

    1. **SWT组件**:SWT提供了一系列的基本组件,如按钮(Button)、文本框(Text)、列表(List)、表格(Table)、树形视图(Tree)等,开发者可以使用这些组件来构建复杂的用户界面。每个组件都有丰富的API供开发者...

    java swt 教程

    - 添加控件:如Button、Text、Label等,并设置其属性。 - 布局管理:使用GridLayout、RowLayout或 MigLayout等布局管理器来控制控件的位置和大小。 - 事件处理:注册监听器,编写事件处理方法。 - 运行:调用...

    第6章 SWT概述

    3. **org.eclipse.swt.custom**: 包含了对标准组件的扩展,如CLabel可以同时显示文字和图片,以及StackLayout等新的布局方式。 4. **org.eclipse.swt.event**: 实现了事件处理机制,包括MouseListener、...

    SWT JFACE开发帮助文档(chm)

    1. **SWT控件和布局**:了解SWT中的各种控件,如Button、Label、Text、Composite等,以及如何使用Layout管理器(如GridLayout、FillLayout、RowLayout)来组织这些控件。 2. **JFace的数据绑定**:学习如何使用...

    SWT/JFace专题 --- SWT/JFace概述

    1. SWT控件:包括Button、Text、Table、Tree、Composite等基本和复杂的控件,以及如何使用它们构建用户界面。 2. JFace数据绑定:讲解如何使用IDataProvider和IStructuredModel来实现视图和数据之间的动态同步。 3. ...

    初学SWT&JFace

    1. **控件和布局**:SWT提供了多种控件,如Button、Label、Text等,它们对应于常见的UI元素。同时,SWT还提供了布局管理器,如FillLayout、GridLayout和 MigLayout,帮助组织窗口中的控件。 2. **事件处理**:SWT...

Global site tag (gtag.js) - Google Analytics