有时需要响应客户点击table的操作.
这时我们可按如下例子为table增加一个监听器.
public class TestTableEvent {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
// 初始化一个2x2的table
final Table table = new Table(shell, SWT.BORDER | SWT.MULTI);
table.setLinesVisible(true);
for (int i = 0; i < 2; i++) {
TableColumn column = new TableColumn(table, SWT.NONE);
column.setWidth(100);
}
for (int i = 0; i < 2; i++) {
TableItem item = new TableItem(table, SWT.NONE);
item.setText(new String[] { "" + i, "" + i, "" + i });
}
//为这个table加一个事件,如果点击某一个element,则在控制台显示该element的坐标
table.addListener(SWT.MouseDown, new Listener() {
public void handleEvent(Event event) {
Point pt = new Point(event.x, event.y);
int index = table.getTopIndex();
while (index < table.getItemCount()) {
final TableItem item = table.getItem(index);
for (int i = 0; i < table.getColumnCount(); i++) {
Rectangle rect = item.getBounds(i);
if (rect.contains(pt)) {
System.out.println("location : " + index + " : " + i);
}
}
index++;
}
}
});
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
- 大小: 7.3 KB
分享到:
相关推荐
根据提供的文件信息,可以看出本文主要讨论的是如何在 SWT (Standard Widget Toolkit) 的 Table 控件中实现文本换行的功能。SWT 是一个用于开发基于 Java 的桌面应用程序的工具包,它提供了丰富的用户界面组件来帮助...
`TableEditor`是SWT提供的一种编辑器,专门用于处理`Table`中的单元格编辑。在创建`TableEditor`时,需指定其所属的`Table`对象,如下所示: ```java final TableEditor editor = new TableEditor(tablePrice); ```...
在SWT中,Table控件相当于其他GUI库中的数据表格,可以用来展示多行多列的数据。在处理大量数据时,为了提高性能和用户体验,通常会采用分页的方式来显示数据。本文将深入探讨如何使用SWT Table实现分页功能,并基于...
首先,通过监听`Table`的`Selection`事件,可以获取当前选中的单元格。然后,可以使用`clipboard`对象(例如`Display.getClipboard()`)来执行复制和粘贴操作。例如,使用`clipboard.setContents(Object data, ...
在这个类中,可能会有Table的创建、TableEditor的使用以及相关事件处理的实现。通过查看这个文件的源码,我们可以更深入地理解问题的细节,并找到解决问题的具体代码片段。 总之,处理SWT TableEditor时,关键在于...
SWT事件处理机制是其核心特性之一,它允许开发者响应各种用户交互行为,从而实现动态和响应式的界面设计。 ### SWT事件类型及处理 #### ControlEvent:控件事件 - **监听器和适配器**:`ControlListener`和`...
- 可能会实现监听器,如SelectionListener、ModifyListener等,来处理用户交互事件。 - 数据模型(如ViewModel)的设计也非常重要,它应该能有效地更新表格内容。 4. 文件"easyTable"可能包含的代码示例: - ...
总的来说,SWT Table的扩展涉及到多个方面,包括但不限于自定义列类型、实现复杂的排序、编辑功能和事件监听。熟练掌握这些技巧,能够帮助我们在Java GUI应用开发中创建出功能丰富且用户体验优秀的数据展示组件。
在SWT中,事件监听通常通过实现`org.eclipse.swt.events.Listener`接口或使用匿名内部类来完成。 5. 获取数据下标作为ID: 在描述中提到,此示例使用数据行的下标作为ID进行操作。这可能意味着在表格中,每一行有一...
此外,SWT还提供了事件处理机制,如监听器接口,如ControlListener、MouseListener和KeyListener等,使得开发者能够对用户的行为作出反应。例如,添加一个MouseListener到Button上,就可以在按钮被点击时执行特定的...
4. **EventTable**:SWT的EventTable是事件管理的核心,它存储了事件监听器并处理事件分发。UI组件可以通过addXXListener方法将监听器添加到EventTable,从而接收事件。 5. **CustomPaint**:对于自定义绘制的需求...
SWT Table是SWT中用于显示表格数据的控件,它支持多列、排序、选择等功能。在分页场景下,用户可以在Table中浏览每一页的数据,并通过导航按钮进行翻页。 分页工具的核心通常包括以下几个部分: 1. **数据模型**:...
SWT(Standard Widget Toolkit)是Java编程环境中一个用于创建图形用户界面(GUI)的开源库,它是Eclipse项目的一部分。本教程将深入讲解SWT的基本概念、组件使用以及实际开发中的应用技巧。以下是对SWT中文教程的...
首先,`TableViewer`是Swt/Jface提供的一个高级组件,它封装了Swt中的`Table`控件,增加了许多便捷的功能,如数据绑定、过滤、排序等。在“入门教程三”中,我们将关注如何实现在表格中直接编辑数据,这是提高用户...
在SWT应用程序中处理大量数据的表(Table)和树(Tree)是非常重要的,因为它们能够快速创建具有大量数据的表和树,并且能够有效地进行填充。 虚拟表和树: 虚拟表和树允许开发人员快速创建具有大量数据的表和树,...
4. **事件驱动**: SWT基于事件驱动模型,通过添加监听器处理用户交互。 ### SWT与Java Swing的对比 - **Swing**: 它是Java标准库的一部分,提供了一种抽象的、跨平台的UI框架,其界面元素不完全模仿操作系统原生...
SWT(Standard Widget Toolkit)是Java中用于创建图形用户界面(GUI)的一种开源库,它是Eclipse项目的基础组件。SWT的设计目标是提供一个高效、本地化的GUI工具包,能够充分利用操作系统提供的功能,使得Java应用...
Swt API中的`Table`类用于创建表格,可以添加列、数据,并支持排序、选择和编辑。`Tree`类则用于创建树形结构,用于展示层次化的数据。两者都提供了丰富的事件处理机制,可以对用户交互进行响应。 **3. 布局管理** ...
在SWT中,开发者可以使用各种组件来构建GUI,如Button、Text、Label、Shell、Composite、Tree、Table等。这些组件提供了丰富的事件处理机制,允许开发者响应用户的操作。例如,Button组件可以处理点击事件,Text组件...
3. SWT事件和监听器:在SWT中,事件处理是通过添加监听器到组件上实现的。例如,ButtonListener可以监听按钮的点击事件,SelectionListener可以监听多种类型的选中事件。开发者可以通过实现相应的接口或者继承特定的...