参考其他扩展控件的方法实现,其实就是多个基本控件的组合使用。按照这个方法可以扩展出其他控件。
扩展控件代码:
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提供了丰富的控件集,包括按钮(Button)、文本框(Text)、列表(List)、表格(Table)、树(Tree)、菜单(Menu)、对话框(Dialog)等。每个控件都有其特定的功能和用途,比如按钮用于执行操作,文本框用于...
SWT中的`Text`控件用于接收用户的文本输入,可以用于简单的单行输入,也可以扩展为多行文本区域。这个文件可能演示了如何创建、配置、读取和处理用户输入的文本,包括事件监听、格式化、验证等操作。 在SWT中,`...
SWT通过`Widget`类作为所有控件的基础,包括`Composite`、`Button`、`Text`等。开发者可以通过`Display`对象创建一个窗口,并在窗口内添加各种控件。 2. **布局管理**: SWT提供多种布局管理器,如`FillLayout`、...
4. **编写代码**:现在你可以开始使用SWT提供的控件,如按钮(Button)、文本框(Text)、列表(List)、树(Tree)等,创建你的GUI界面了。 **Eclipse SWT** Eclipse SWT是Eclipse IDE的核心组件之一,它允许...
- **Button**:提供用户交互,可以有多种类型,如 SWT.BORDER(带边框的按钮),SWT.CHECK(复选按钮),SWT.PUSH(普通按钮)和 SWT.RADIO(单选按钮)。 3. **Text 控件** - **Text**:允许用户输入文本,可以...
4. **可扩展性**: SWT允许开发者创建自定义控件,通过组合现有Widget实现新的功能。 5. **兼容性**: SWT支持多种操作系统,如Windows、Linux、macOS等,为跨平台开发提供了便利。 **使用SWT进行开发** 1. **初始...
- 自定义控件:学习如何创建自定义的SWT控件,扩展SWT的功能。 通过本教程的学习,你将掌握SWT的核心概念,能够使用SWT和JFace构建功能丰富的Java GUI应用程序。实践是检验真理的唯一标准,建议在学习过程中不断...
- **Label**:标签控件,用于显示静态文本信息。 - **Table**和`Tree`:用于展示数据列表和层次结构的数据,可以通过`TableViewer`和`TreeViewer`进行扩展,实现更丰富的功能。 **3. JFace与SWT的关系** `JFace`...
1. **控件(Widgets)**:SWT 提供了各种原生控件,如按钮(Button)、文本框(Text)、列表(List)、表格(Table)、树(Tree)等。这些控件直接映射到操作系统底层的控件,因此在不同平台上表现一致。 2. **事件...
3. **可扩展性**:SWT允许开发者自定义控件,以满足特定需求。 4. **事件驱动**:SWT使用事件模型来处理用户交互,这使得代码更简洁,易于理解和维护。 5. **与JFace集成**:JFace是建立在SWT之上的更高层次的API,...
Swt API提供了多种控件,如按钮(Button)、文本框(Text)、列表(List)、组合框(Combo)、滚动条(ScrollBar)等,这些控件与各个操作系统平台的原生控件保持一致,提供更好的用户体验。例如,`Button`类用于...
- **控件(Widgets)**:`Button`、`Text`、`Label`等是SWT中的基本控件,它们对应着GUI中的常见元素。开发者可以创建这些控件,设置属性,添加事件监听器,以响应用户的操作。 - **事件处理**:通过`Listener`接口...
8. **自定义组件**:除了内置组件,开发者还可以通过继承和扩展SWT组件,创建自己的定制控件,以满足特定的界面需求。 9. **性能优化**:由于SWT直接调用操作系统API,它的性能通常优于AWT和Swing。了解如何优化SWT...
1. **控件**:SWT提供了一系列基本和复杂的控件,如`Button`, `Text`, `Label`, `Table`, `Composite`, `Shell`等,开发者可以利用这些控件构建用户界面。 2. **布局管理**:SWT支持多种布局管理器,如`FillLayout`,...
1. **SWT组件**:SWT提供了一系列的基本组件,如按钮(Button)、文本框(Text)、列表(List)、表格(Table)、树形视图(Tree)等,开发者可以使用这些组件来构建复杂的用户界面。每个组件都有丰富的API供开发者...
- 添加控件:如Button、Text、Label等,并设置其属性。 - 布局管理:使用GridLayout、RowLayout或 MigLayout等布局管理器来控制控件的位置和大小。 - 事件处理:注册监听器,编写事件处理方法。 - 运行:调用...
3. **org.eclipse.swt.custom**: 包含了对标准组件的扩展,如CLabel可以同时显示文字和图片,以及StackLayout等新的布局方式。 4. **org.eclipse.swt.event**: 实现了事件处理机制,包括MouseListener、...
1. **SWT控件和布局**:了解SWT中的各种控件,如Button、Label、Text、Composite等,以及如何使用Layout管理器(如GridLayout、FillLayout、RowLayout)来组织这些控件。 2. **JFace的数据绑定**:学习如何使用...
1. SWT控件:包括Button、Text、Table、Tree、Composite等基本和复杂的控件,以及如何使用它们构建用户界面。 2. JFace数据绑定:讲解如何使用IDataProvider和IStructuredModel来实现视图和数据之间的动态同步。 3. ...
1. **控件和布局**:SWT提供了多种控件,如Button、Label、Text等,它们对应于常见的UI元素。同时,SWT还提供了布局管理器,如FillLayout、GridLayout和 MigLayout,帮助组织窗口中的控件。 2. **事件处理**:SWT...