`
huzhenyu
  • 浏览: 191862 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

改变swt中table选中行的颜色

阅读更多
import org.eclipse.swt.*;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.widgets.*;

public class Example3 {

public static void main(String[] args) {
	Display display = new Display(); 
	Shell shell = new Shell(display);
	final Color red = display.getSystemColor(SWT.COLOR_RED);
	final Color yellow = display.getSystemColor(SWT.COLOR_YELLOW);
	final Table table = new Table(shell, SWT.FULL_SELECTION);
	table.setHeaderVisible(true);
	new TableColumn(table, SWT.NONE).setWidth(100);
	new TableColumn(table, SWT.NONE).setWidth(100);
	new TableColumn(table, SWT.NONE).setWidth(100);
	for (int i = 0; i < 5; i++) {
		TableItem item = new TableItem(table, SWT.NONE);
		item.setText(0, "item " + i + " col 0");
		item.setText(1, "item " + i + " col 1");
		item.setText(2, "item " + i + " col 2");
	}
	table.pack();

	/*
	 * NOTE: EraseItem is called repeatedly.  Therefore it is critical
	 * for performance that this method be as efficient as possible.
	 */
	table.addListener(SWT.EraseItem, new Listener() {
		public void handleEvent(Event event) {
			event.detail &= ~SWT.HOT;
			if ((event.detail & SWT.SELECTED) == 0) return; /* item not selected */
			int clientWidth = table.getClientArea().width;
			GC gc = event.gc;
			Color oldForeground = gc.getForeground();
			Color oldBackground = gc.getBackground();
			gc.setForeground(red);
			gc.setBackground(yellow);
			gc.fillGradientRectangle(0, event.y, clientWidth, event.height, false);
			gc.setForeground(oldForeground);
			gc.setBackground(oldBackground);
			event.detail &= ~SWT.SELECTED;
		}
	});

	shell.pack();
	shell.open();
	while (!shell.isDisposed()) {
		if (!display.readAndDispatch()) display.sleep();
	}
	display.dispose();
}
}
分享到:
评论

相关推荐

    swt table 实现换行

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

    SWT Table单元格编辑功能

    其中,`Table`控件是SWT中最常用的数据展示组件之一,尤其适用于展示表格形式的数据。本文将深入探讨SWT `Table`控件中的单元格编辑功能,并通过实例代码进行详细解析。 #### 1. 创建TableEditor `TableEditor`是...

    SWT Table分页的工具类

    在SWT Table中实现分页,我们需要关注以下几个关键点: 1. **数据模型**:首先,我们需要定义一个数据模型来存储表格中的数据。这通常是一个包含数据对象的列表或数组,每个对象对应表格的一行。 2. **分页逻辑**...

    swt类库Table

    - `Table.class`:这是SWT库中`Table`类的编译后字节码文件,包含了`Table`类的所有方法和属性定义。 - `Table$1.class`:这是一个内部类,通常用来实现`Table`类的匿名内部回调函数或者其他辅助功能。 - `org....

    SWT表格管理类(包括表头排序,隔行颜色,表格宽度自适应)

    SWT表格管理类,包括表头排序事件,table宽度自适应事件,隔行颜色事件

    SWT增删改查

    当用户选择一行进行操作时,程序获取选中行的下标,然后将其作为参数传递给相应的SQL语句。 6. 表格数据显示与编辑: SWT提供了`Table`控件来显示和编辑表格数据。你可以通过`TableItem`来创建和修改表格行,`Table...

    JAVA SWT Table SWTChart Jdbc 数据 表格 散点图 界面

    在SWT中,我们可以创建一个Shell对象作为应用程序的主窗口,然后在其中添加Table和Chart控件。Table控件可以用来显示数据库中的表格数据,支持排序、筛选等功能;而Chart控件则可以渲染从数据库获取的散点数据。 6...

    SWT tableEditor删除后刷新

    在SWT中,TableEditor是一个常用的组件,它允许我们在表格(Table)的单元格内放置编辑器,比如文本框、下拉框等,以便用户可以直接在表格中进行编辑。 标题"SWT tableEditor删除后刷新"涉及的问题可能是关于在删除...

    swt table扩展

    本文将深入探讨SWT中的Table组件的扩展及其应用,同时参考了博客文章“swt table扩展”。 在SWT中,Table是一个非常重要的组件,用于展示多行多列的数据。它提供了类似电子表格的功能,包括排序、选择、编辑等。在...

    使Excel嵌入到SWT窗口中

    使Excel嵌入到SWT窗口中 知识点一:Eclipse版本和jdk版本的选择 在本例中,我们使用的是Eclipse 3.3.1版本和jdk 5.0版本。Eclipse是一个开源的集成开发环境(IDE),它支持多种编程语言,包括Java、C++、Python等...

    swt table 自己造个轮子

    在这个场景中,“swt table 自己造个轮子”指的是使用SWT(Standard Widget Toolkit)库来创建一个自定义的表格组件。SWT是Eclipse项目的一部分,它提供了一套原生的GUI组件,用于Java应用程序,提供了与操作系统更...

    SWT中文教程.rar

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

    java swt table

    在深入探讨“Java SWT Table”这一主题之前,我们先来明确一下SWT(Standard Widget Toolkit)是什么以及它在Java开发中的角色。SWT是Eclipse平台的一部分,它提供了一组用于构建图形用户界面(GUI)的类库。与AWT和...

    swt中treeview和tableview实例

    swt中treeview和tableview实例,有助于理解这两个控件的使用。另外附带html页面。。可读性更强。

    SWT表格管理类

    总之,`SWT表格管理类`通过`TableManager`这样的辅助工具,使得在Java环境中创建功能强大的表格变得简单易行。通过表头排序、隔行颜色和表格宽度自适应等功能,开发者能够创建出更加用户友好的界面,提高应用程序的...

    在SWING、SWT中嵌入浏览器

    在Java编程环境中,SWING和SWT(Standard Widget Toolkit)是两种常见的图形用户界面(GUI)库,用于创建桌面应用程序。然而,有时我们可能需要在这些应用中集成Web浏览功能,比如显示网页或者运行Web应用。这篇博客...

    删除table表格行的实例讲解

    在网页开发中,HTML表格(Table)是一种常用的数据展示方式,而有时我们需要根据需求动态地删除表格中的行。本文将详细讲解如何通过JavaScript实现删除HTML表格行的功能。 首先,了解HTML表格的基本结构。一个HTML...

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

    SWT(Standard Widget Toolkit)是Java编程环境中用于创建图形用户界面(GUI)的一种开源库,它是Eclipse项目的一部分。SWT提供了与操作系统本机UI组件的直接交互,从而能够创建性能高效、外观与操作系统的原生应用...

    swt-64.rar_64位swt_64的SWT_SWT64_swt.jar 64位_swt64位

    SWT(Standard Widget Toolkit)是Java编程环境中一个用于创建图形用户界面(GUI)的开源库,它是Eclipse项目的一部分。标题“swt-64.rar_64位swt_64的SWT_SWT64_swt.jar 64位_swt64位”表明这个压缩包包含了适用于...

    swt/jface中文教程

    SWT/JFace 的形成是为了解决传统 GUI 开发中的一些问题,如:平台相关性、难以使用、性能不佳等问题。SWT/JFace 的出现,提供了一种新的 GUI 开发方式,使开发者能够快速构建高效、美观的 GUI 应用程序。 SWT/JFace...

Global site tag (gtag.js) - Google Analytics