`

SWT table 中加入事件监听处理

阅读更多
有时需要响应客户点击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 table 实现换行

    根据提供的文件信息,可以看出本文主要讨论的是如何在 SWT (Standard Widget Toolkit) 的 Table 控件中实现文本换行的功能。SWT 是一个用于开发基于 Java 的桌面应用程序的工具包,它提供了丰富的用户界面组件来帮助...

    SWT Table单元格编辑功能

    `TableEditor`是SWT提供的一种编辑器,专门用于处理`Table`中的单元格编辑。在创建`TableEditor`时,需指定其所属的`Table`对象,如下所示: ```java final TableEditor editor = new TableEditor(tablePrice); ```...

    SWT Table分页的工具类

    在SWT中,Table控件相当于其他GUI库中的数据表格,可以用来展示多行多列的数据。在处理大量数据时,为了提高性能和用户体验,通常会采用分页的方式来显示数据。本文将深入探讨如何使用SWT Table实现分页功能,并基于...

    swt类库Table

    首先,通过监听`Table`的`Selection`事件,可以获取当前选中的单元格。然后,可以使用`clipboard`对象(例如`Display.getClipboard()`)来执行复制和粘贴操作。例如,使用`clipboard.setContents(Object data, ...

    SWT tableEditor删除后刷新

    在这个类中,可能会有Table的创建、TableEditor的使用以及相关事件处理的实现。通过查看这个文件的源码,我们可以更深入地理解问题的细节,并找到解决问题的具体代码片段。 总之,处理SWT TableEditor时,关键在于...

    SWT事件一览表

    SWT事件处理机制是其核心特性之一,它允许开发者响应各种用户交互行为,从而实现动态和响应式的界面设计。 ### SWT事件类型及处理 #### ControlEvent:控件事件 - **监听器和适配器**:`ControlListener`和`...

    swt table 自己造个轮子

    - 可能会实现监听器,如SelectionListener、ModifyListener等,来处理用户交互事件。 - 数据模型(如ViewModel)的设计也非常重要,它应该能有效地更新表格内容。 4. 文件"easyTable"可能包含的代码示例: - ...

    swt table扩展

    总的来说,SWT Table的扩展涉及到多个方面,包括但不限于自定义列类型、实现复杂的排序、编辑功能和事件监听。熟练掌握这些技巧,能够帮助我们在Java GUI应用开发中创建出功能丰富且用户体验优秀的数据展示组件。

    SWT增删改查

    在SWT中,事件监听通常通过实现`org.eclipse.swt.events.Listener`接口或使用匿名内部类来完成。 5. 获取数据下标作为ID: 在描述中提到,此示例使用数据行的下标作为ID进行操作。这可能意味着在表格中,每一行有一...

    SWT插件中文教程SWT常用方法

    此外,SWT还提供了事件处理机制,如监听器接口,如ControlListener、MouseListener和KeyListener等,使得开发者能够对用户的行为作出反应。例如,添加一个MouseListener到Button上,就可以在按钮被点击时执行特定的...

    [原创]SWT 深入内幕之消息机制探秘

    4. **EventTable**:SWT的EventTable是事件管理的核心,它存储了事件监听器并处理事件分发。UI组件可以通过addXXListener方法将监听器添加到EventTable,从而接收事件。 5. **CustomPaint**:对于自定义绘制的需求...

    SWTUtils分页工具源码.zip

    SWT Table是SWT中用于显示表格数据的控件,它支持多列、排序、选择等功能。在分页场景下,用户可以在Table中浏览每一页的数据,并通过导航按钮进行翻页。 分页工具的核心通常包括以下几个部分: 1. **数据模型**:...

    SWT中文教程.rar

    SWT(Standard Widget Toolkit)是Java编程环境中一个用于创建图形用户界面(GUI)的开源库,它是Eclipse项目的一部分。本教程将深入讲解SWT的基本概念、组件使用以及实际开发中的应用技巧。以下是对SWT中文教程的...

    Swt/Jface tableViewer入门教程三(加入在表格上直接编辑数据)

    首先,`TableViewer`是Swt/Jface提供的一个高级组件,它封装了Swt中的`Table`控件,增加了许多便捷的功能,如数据绑定、过滤、排序等。在“入门教程三”中,我们将关注如何实现在表格中直接编辑数据,这是提高用户...

    基于SWT处理大量数据的表(Table)和树(Tree)

    在SWT应用程序中处理大量数据的表(Table)和树(Tree)是非常重要的,因为它们能够快速创建具有大量数据的表和树,并且能够有效地进行填充。 虚拟表和树: 虚拟表和树允许开发人员快速创建具有大量数据的表和树,...

    SWT教程java开发文档

    4. **事件驱动**: SWT基于事件驱动模型,通过添加监听器处理用户交互。 ### SWT与Java Swing的对比 - **Swing**: 它是Java标准库的一部分,提供了一种抽象的、跨平台的UI框架,其界面元素不完全模仿操作系统原生...

    SWT使用例子

    SWT(Standard Widget Toolkit)是Java中用于创建图形用户界面(GUI)的一种开源库,它是Eclipse项目的基础组件。SWT的设计目标是提供一个高效、本地化的GUI工具包,能够充分利用操作系统提供的功能,使得Java应用...

    Swt的API使用说明

    Swt API中的`Table`类用于创建表格,可以添加列、数据,并支持排序、选择和编辑。`Tree`类则用于创建树形结构,用于展示层次化的数据。两者都提供了丰富的事件处理机制,可以对用户交互进行响应。 **3. 布局管理** ...

    SWT开发教程1

    在SWT中,开发者可以使用各种组件来构建GUI,如Button、Text、Label、Shell、Composite、Tree、Table等。这些组件提供了丰富的事件处理机制,允许开发者响应用户的操作。例如,Button组件可以处理点击事件,Text组件...

    swt 监控代码资料

    3. SWT事件和监听器:在SWT中,事件处理是通过添加监听器到组件上实现的。例如,ButtonListener可以监听按钮的点击事件,SelectionListener可以监听多种类型的选中事件。开发者可以通过实现相应的接口或者继承特定的...

Global site tag (gtag.js) - Google Analytics