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

Eclipse Nebula 部件入门

阅读更多

转自https://www6.software.ibm.com/developerworks/cn/education/opensource/os-eclipse-nebula/section13.html

 


developerWorks 中国  >  Open source  >

Eclipse Nebula 部件入门

Eclipse Nebula 的 Grid、CDateTime、CompositeTable、PGroup 和 PShelf 部件快速入门指南

developerWorks
前一页 第 13 页,共 21 页 后一页

文档选项
将打印机的版面设置成横向打印模式

打印本页


对本教程的评价

帮助我们改进这些内容


复选框、行标题、更改单元格颜色和单元格选择

行标题使您可以在 Grid 中设定每行的标签。默认情况下,每行的标题在 Grid 中是行的序号。要显示行标题,请在 Grid 上调用 setRowHeaderVisible(true)。每个 GridItem 都可以指定它自己的标题。通过在条目上调用 setHeaderText("Header text") 完成此过程。

您可以指定 GridColumn 作为包含一个复选框的列,呈现 Boolean 字段的值时该复选框会十分有用。下面的代码将创建一个包含复选框的 GridColumn。

GridColumn availableColumn = new GridColumn(grid, SWT.CHECK);

Grid 的特定单元格中的复选框的选中状态是由其相关的 GridItem 确定的。您可以通过调用相应的 GridItem 的 setChecked(int, boolean) 方法并传递列的索引和所需的 Boolean 值来设定状态。您可以通过在 GridItem 上调用 getChecked(int) 方法来检索复选框的值。文本也可以显示在复选框单元格中。这可以通过在 GridItem 上调用 setText(int, String) 方法并传递复选框条目的列的索引和将要显示的文本来完成。

您可以单独更改背景和文本的颜色,以及 Grid 中每个单元格的文本的字体。为此,在相应的 GridItem 上调用清单 5 中的方法。


清单 5. 更改颜色和字体
                    
item.setBackground(index, Color)
item.setFont(index, Font); 
		
item.setForeground(index, Color);

可以启用类似电子表单行为的 Grid 的优秀特性是能够启用单元格选择。可以选择单个单元格、一组单元格、整列和整行。默认情况下,Grid 被设为允许一次选择一行。选择多行可由 OR SWT.MULTI 以及 Grid 构造函数中提供的其余样式整数来指定。示例如下所示:

Grid grid = new Grid(shell, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);

要启用选择单个单元格或单元格组,请在 Grid 上调用 setCellSelectionEnabled(true)。默认情况下,所有列中的单元格都是可选择的。要禁止选择列中的单元格,请在相应的 GridColumn 上调用 setCellSelectionEnabled 方法并向其传递 false 值。要确定哪些单元格目前处于选中状态,请在 Grid 上调用 getCellSelection() 方法。将返回包含每个选中单元格坐标的 Point 对象数组。

清单 6 将演示如何使用行标题、复选框、单元格颜色和单元格选择。尝试执行单元格选择。单击列标题应当选择该列中的所有单元格。单击行标题应当选择该行中的所有单元格。注:第一列 Car Number 中的所有单元格应当都不会被选中。


清单 6. GridExample2
                    
public class GridExample2 {
	public static void main(String... args) {
		Display display = new Display();
		Shell shell = new Shell(display);
		shell.setLayout(new FillLayout());
                      Grid grid = new Grid(shell, SWT.BORDER | 
						SWT.V_SCROLL | SWT.H_SCROLL);
		grid.setHeaderVisible(true);
		grid.setRowHeaderVisible(true); // show Row Headers
		grid.setCellSelectionEnabled(true); //allow Cell Selection
	           Car car1 = new Car(133, "2007","Honda", 
				"CR-V",Car.CarType.SUV, 322, "Glacier Blue", true);
	           Car car2 = new Car(134, "2002","BMW", 
				"M Roadster",Car.CarType.CONVERTIBLE, 40233, "Red", false);
|-------10--------20--------30--------40--------50--------60--------70--------80--------9|
|-------- XML error:  The previous line is longer than the max of 90 characters ---------|
	           Car car3 = new Car(135, "2002","Acura", 
				"RSX",Car.CarType.COUPE, 53283, "Black", false);

                      GridColumn idColumn = new GridColumn(grid, SWT.NONE);
		idColumn.setText("Car Number");
		idColumn.setWidth(100);
		//don't allow cells in the idColumn to be selected
		idColumn.setCellSelectionEnabled(false);  
	
				
		GridColumn yearColumn = new GridColumn(grid, SWT.NONE);
		yearColumn.setText("Year");
		yearColumn.setWidth(50);

		GridColumn makeColumn = new GridColumn(grid, SWT.NONE);
		makeColumn.setText("Make");
		makeColumn.setWidth(100);

		GridColumn modelColumn = new GridColumn(grid, SWT.NONE);
		modelColumn.setText("Model");
		modelColumn.setWidth(100);

		GridColumn typeColumn = new GridColumn(grid, SWT.NONE);
		typeColumn.setText("Type");
		typeColumn.setWidth(100);
		
		GridColumn availableColumn = new GridColumn(grid, SWT.CHECK);
		availableColumn.setText("Available");
		availableColumn.setWidth(75);
		
		GridItem item1 = new GridItem(grid, SWT.NONE);
		item1.setHeaderText("Row Header");
		item1.setText(0, String.valueOf(car1.getCarNumber()));
		item1.setText(1,car1.getYear());
		item1.setText(2, car1.getMake());
		item1.setText(3, car1.getModel());
		item1.setText(4, car1.getCarType().toString());
		//set whether the check box in this column and row is checked
		item1.setChecked(5, car1.isAvailable()); 


		GridItem item2 = new GridItem(grid, SWT.NONE);
		item2.setText(0, String.valueOf(car2.getCarNumber()));
		item2.setText(1,car2.getYear());
		item2.setText(2, car2.getMake());
		item2.setText(3, car2.getModel());
		item2.setText(4, car2.getCarType().toString());
		item2.setChecked(5, car2.isAvailable());
		//set background to blue
		item2.setBackground(4,new Color(null, 0,0,255)); 
		//change font
		item2.setFont(4, new Font(null, "Arial", 12, SWT.BOLD | SWT.ITALIC));
		//set text color to red
		item2.setForeground(4, new Color(null, 255, 0, 0)); 
		
		GridItem item3 = new GridItem(grid, SWT.NONE);
		item3.setText(0, String.valueOf(car3.getCarNumber()));
		item3.setText(1, car3.getYear());
		item3.setText(2, car3.getMake());
		item3.setText(3, car3.getModel());
		item3.setText(4, car3.getCarType().toString());
		item3.setChecked(5, car2.isAvailable());
		
		shell.setSize(625, 200);
		shell.open();
		while (!shell.isDisposed()) {
			if (!display.readAndDispatch())
				display.sleep();
		}
		display.dispose();
	}
}

在 Mac OS X 中运行示例将提供如下所示的结果。


图 17. GridExample2
GridExample2 

分享到:
评论

相关推荐

    eclipse nebula部件

    将`nebula.zip`文件解压缩后,将其内容放入Eclipse的安装目录下的`dropins`文件夹中,这一步是将Nebula部件集成到Eclipse环境的关键步骤。`dropins`目录是Eclipse用来自动识别并加载插件的地方。完成这一步后,通过...

    com.bkahlert.nebula:Eclipse小部件

    Eclipse的星云小部件该项目为Eclipse提供了大量的小部件。 小部件包括基本的小部件,例如圆形标签和复合材料加载程序覆盖以指示长时间运行的计算... 复杂的小部件,例如聊天室作曲家/编辑时间线经过高度调整的浏览器...

    org.eclipse.nebula.widgets.grid_1.0.0.jar_gridview_everyt8y_

    标题中的"org.eclipse.nebula.widgets.grid_1.0.0.jar_gridview_everyt8y_"暗示了我们正在讨论的是Eclipse Nebula项目中的一个组件,具体是Grid Viewer相关的库,版本为1.0.0。这个库是用于构建用户界面的,特别适用...

    Nebula模拟器-Nebula模拟器-Nebula模拟器

    Nebula模拟器是一款强大的虚拟化工具,专为云计算和数据中心环境设计,它允许用户在单个物理设备上运行多个独立的虚拟环境。Nebula模拟器的核心目标是提供高效、安全且可扩展的虚拟化解决方案,使得企业可以更有效地...

    Nebula2.25_汉化

    《Nebula2.25汉化版:模拟器的便捷使用详解》 在IT行业中,模拟器扮演着至关重要的角色,它们使开发者和用户能够在一个平台上体验和测试其他平台的功能。Nebula,作为一款知名的模拟器软件,被广泛用于音频处理、...

    Nebula:org.eclipse.nebula.widget.ganttchart-2.0 的修改

    在IT行业中,Eclipse Nebula是一个著名的开源项目,它提供了许多用于增强Eclipse RCP(Rich Client Platform)和SWT(Standard Widget Toolkit)应用程序的组件。Nebula库中的一个关键组件是`org.eclipse.nebula....

    nebula图数据库V2.6.0

    **Nebula图数据库V2.6.0详解** Nebula Graph是一款高性能、分布式的图数据库,专门设计用于处理大规模复杂数据网络的查询和分析。在V2.6.0版本中,Nebula进一步优化了性能和功能,提升了用户体验,使其在大数据领域...

    java-nebula客户端集成(csdn)————程序.pdf

    Java Nebula 客户端集成详解 Java Nebula 客户端集成是指将 Nebula 图数据库与 Java 应用程序集成,以便在 Java 应用程序中使用 Nebula 图数据库的功能。下面是 Java Nebula 客户端集成的详细过程。 一、建立 ...

    nebula-V3.3.0镜像资源包

    nebula-V3.3.0镜像资源包,包含meta、storged及graphd对应的镜像,以及nebula-console文件

    nebula-graph-studio-3.8.0 ARM架构编译完成的包

    《Nebula Graph Studio 3.8.0 在 ARM 架构下的编译与应用》 在当前数字化时代,图数据库作为一种高效的数据管理工具,正逐渐受到广泛关注。Nebula Graph,作为一款高性能、分布式、易扩展的图数据库,其图形化管理...

    脱壳的nebula225b

    【标题】"脱壳的nebula225b"是指的NEBULA模拟器的一个特定版本,经过优化和修改,解决了原本存在的某些问题。在这个版本中,开发者针对无法完整扫描到所有游戏子Rom的问题进行了修复,使得用户可以更加顺利地进行...

    SWT GridViewer_1.0包

    SWT GridViewer_1.0包是针对Java开发者的一个组件库,主要包含了两个核心的JAR文件:`org.eclipse.nebula.jface.gridviewer_1.0.0.jar`和`org.eclipse.nebula.widgets.grid_1.0.0.jar`。这两个文件提供了强大的数据...

    Nebula3命令行应用程序向导

    对于新接触这个框架的开发者来说,通过命令行界面来创建和管理应用可能会感到困难,而这款向导则提供了易用的指导和自动化功能,降低了入门门槛。 Nebula3 Console Application Wizard的主要功能包括: 1. **项目...

    Nebula3的maya插件

    《Nebula3 Maya插件:NVX2网格导出详解》 在计算机图形学领域,Maya是一款广泛使用的三维建模与动画软件,而Nebula3则是一个专为游戏开发和视觉特效设计的高级工具集。在这个场景中,Nebula3的Maya插件扮演着重要的...

    Eclipse RCP与Spring OSGi技术详解与最佳实践

    技术详解与最佳实践》共分3个部分:基础篇(第1-5章)详细介绍了与Eclipse RCP相关的一系列核心概念、Eclipse RCP开发环境的搭建,以及SWT、JFace、Forms、Nebula和WindowBuilder等Eclipse RCP开发所常用的界面编程...

    Nebula PaperClips打印例子

    Nebula PaperClips是一款专为打印任务设计的软件组件,其版本1.0.4在打印领域提供了高效且灵活的解决方案。PaperClips的主要功能是帮助用户方便地管理和操作打印作业,它可能包含了诸如预览、编辑、格式转换以及多...

    nebula3加载xml的核心实现

    在Nebula3框架中,XML格式被广泛用于存储和传输数据,特别是在处理游戏或图形渲染等场景。本文将深入探讨“nebula3加载XML的核心实现”,关注于如何在Nebula3中读取、解析和利用XML文件来构建和操作ModelNode类型的...

    nebula-console

    nebula-console

    CH-Nebula

    【标题】"CH-Nebula" 是一个专用于街机游戏模拟的软件,它使得用户能够在个人电脑上体验经典的街机游戏,如“街头霸王”等。作为一个模拟器,CH-Nebula的主要功能是模拟真实的街机硬件环境,将街机游戏的ROM(Read-...

    Nebula架构文档

    Nebula2的游戏架构,对了解引擎的架构有些帮助

Global site tag (gtag.js) - Google Analytics