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

Eclipse Nebula 部件入门1

阅读更多

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

Eclipse Nebula 部件入门

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

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

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

打印本页


对本教程的评价

帮助我们改进这些内容


创建 Grid 条目树和列跨距

Grid 将允许您创建 GridItem 树,表示条目与子条目之间的关系。虽然简单的一层嵌套或两层嵌套更为常见,但是条目可以嵌套 n 层深。要创建条目树,请执行以下步骤:

  1. 在相应的 GridColumn 上,调用 setTree() 方法,传入 true 值。这将把列指定为允许包含子条目树的列。切换分支对象视图的 UI 控件显示在此列中。
  2. 创建树的根 GridItem。此 GridItem 应当以 Grid 为其父节点。
  3. 创建树的下一级分支 GridItem。为此,把对父对象的引用(在本例中为树的根)传递给每个分支 GridItem 的构造函数。对每一级树重复执行此步骤。传递给每个条目的构造函数的父对象是树中高于该父对象一个级别的 GridItem 对象。

GridItem 中的数据字段也可以被设为跨度多个列。为此,调用相应的 GridItem 的 setColumnSpan(int,int) 方法。第一个参数是将受影响的列的索引;第二个参数将指定将跨度的后续列数。

在清单 7 中,将创建 GridItem 树来把汽车分组到特定的租用分类中。分类列被设为横向跨度所有列。它的背景颜色和字体也被更改。


清单 7. GridExample3
                    
public class GridExample3 {
	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);

	           		  Car car1 = new Car(133, "2007","Chevy", 
						"Cobalt",Car.CarType.COUPE, 4321, "Yellow", true);
|-------10--------20--------30--------40--------50--------60--------70--------80--------9|
|-------- XML error:  The previous line is longer than the max of 90 characters ---------|
                      Car car2 = new Car(134, "2007","Chevy", 
						"Cobalt",Car.CarType.COUPE, 4321, "Yellow", true);
|-------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, "2006","Ford", 
						"Focus",Car.CarType.COUPE, 15343, "Red", true);
|-------10--------20--------30--------40--------50--------60--------70--------80--------9|
|-------- XML error:  The previous line is longer than the max of 90 characters ---------|
                      Car car4 = new Car(136, "2006","Chrysler", 
						"Sebring",Car.CarType.SEDAN, 12932, "Black", false);
|-------10--------20--------30--------40--------50--------60--------70--------80--------9|
|-------- XML error:  The previous line is longer than the max of 90 characters ---------|
                      Car car5 = new Car(137, "2002","Ford", 
						"Mustang",Car.CarType.COUPE,4342, "Red", true);
|-------10--------20--------30--------40--------50--------60--------70--------80--------9|
|-------- XML error:  The previous line is longer than the max of 90 characters ---------|

                      GridColumn rentalTypeColumn = new GridColumn(grid, SWT.NONE);
		rentalTypeColumn.setText("Rental Grade");
		rentalTypeColumn.setWidth(100);
		rentalTypeColumn.setTree(true);
		
		GridColumn idColumn = new GridColumn(grid, SWT.NONE);
		idColumn.setText("Car Number");
		idColumn.setWidth(100);
				
		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 | SWT.CENTER);
		availableColumn.setText("Available");
		availableColumn.setWidth(75);
		
		GridItem compactItem = new GridItem(grid, SWT.CENTER);
		compactItem.setText(0, "Compact");

	           compactItem.setFont(new Font(null, 
				"Arial", 18, SWT.BOLD | SWT.ITALIC));
		compactItem.setColumnSpan(0, 6);
		compactItem.setBackground(0, new Color(null, 0,255,0));
		
		GridItem item1 = new GridItem(compactItem, SWT.NONE);
		item1.setText(1, String.valueOf(car1.getCarNumber()));
		item1.setText(2,car1.getYear());
		item1.setText(3, car1.getMake());
		item1.setText(4, car1.getModel());
		item1.setText(5, car1.getCarType().toString());
		item1.setChecked(6, car1.isAvailable());
		

		GridItem item2 = new GridItem(compactItem, SWT.NONE);
		item2.setText(1, String.valueOf(car2.getCarNumber()));
		item2.setText(2,car2.getYear());
		item2.setText(3, car2.getMake());
		item2.setText(4, car2.getModel());
		item2.setText(5, car2.getCarType().toString());
		item2.setChecked(6, car2.isAvailable());
		
		GridItem item3 = new GridItem(compactItem, SWT.NONE);
		item3.setText(1, String.valueOf(car3.getCarNumber()));
		item3.setText(2, car3.getYear());
		item3.setText(3, car3.getMake());
		item3.setText(4, car3.getModel());
		item3.setText(5, car3.getCarType().toString());
		item3.setChecked(6, car3.isAvailable());
		
		GridItem midSizedItem = new GridItem(grid, SWT.NONE);
		midSizedItem.setText(0, "Mid-Sized");

                      midSizedItem.setFont(new Font(null, 
						"Arial", 18, SWT.BOLD | SWT.ITALIC));
		midSizedItem.setColumnSpan(0,6);
		midSizedItem.setBackground(0, new Color(null, 0, 255, 255));
		
		GridItem item4 = new GridItem(midSizedItem, SWT.NONE);
		item4.setText(1, String.valueOf(car4.getCarNumber()));
		item4.setText(2,car4.getYear());
		item4.setText(3, car4.getMake());
		item4.setText(4, car4.getModel());
		item4.setText(5, car4.getCarType().toString());
		item4.setChecked(6, car4.isAvailable());
		
		GridItem item5 = new GridItem(midSizedItem, SWT.NONE);
		item5.setText(1, String.valueOf(car5.getCarNumber()));
		item5.setText(2,car5.getYear());
		item5.setText(3, car5.getMake());
		item5.setText(4, car5.getModel());
		item5.setText(5, car5.getCarType().toString());
		item5.setChecked(6, car5.isAvailable());
		
		shell.setSize(700, 200);
		shell.open();
		while (!shell.isDisposed()) {
			if (!display.readAndDispatch())
				display.sleep();
		}
		display.dispose();
	}

}

运行示例将提供如下所示的结果。


图 18. GridExample3
GridExample3 

分享到:
评论

相关推荐

    eclipse nebula部件

    将`nebula.zip`文件解压缩后,将其内容放入Eclipse的安装目录下的`dropins`文件夹中,这一步是将Nebula部件集成到Eclipse环境的关键步骤。`dropins`目录是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。这个库是用于构建用户界面的,特别适用...

    com.bkahlert.nebula:Eclipse小部件

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

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

    1. **高性能**:Nebula模拟器优化了虚拟机的性能,确保虚拟环境下的应用程序运行速度接近甚至达到物理硬件的水平。这得益于其高效的资源调度和分配机制。 2. **高可用性**:通过故障转移和负载均衡功能,Nebula...

    Nebula2.25_汉化

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

    nebula图数据库V2.6.0

    1. **高并发查询**:Nebula支持高并发的图查询,可以处理每秒成千上万的查询请求,适合大规模实时数据分析场景。 2. **低延迟**:通过分布式架构,Nebula实现了极低的读写延迟,确保快速响应用户的查询需求。 3. *...

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

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

    【标签】"nebula"是模拟器的名字,它是一款强大的多平台游戏机模拟器,支持包括NeoGeo、CPS1、CPS2等多种经典街机游戏平台。NEBULA以其高精度和丰富的特性在模拟器领域中占有一席之地,允许玩家在个人电脑上重温许多...

    Nebula3命令行应用程序向导

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

    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的maya插件

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

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

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

    Nebula PaperClips打印例子

    1. **安装与配置**:首先,用户需要了解如何下载并安装Nebula PaperClips,包括兼容的操作系统、硬件需求以及安装过程。在配置阶段,用户可能需要设置默认打印机、页面设置等选项。 2. **文档导入**:PaperClips...

    nebula3加载xml的核心实现

    1. **XML解析器初始化**:Nebula3使用了一个内置的XML解析库,可能是基于TinyXML、pugixml或DOM解析器等。解析器被初始化并用于打开和读取XML文件。 2. **文档对象模型(DOM)构建**:解析器读取XML文件的内容,将其...

    nebula-console

    nebula-console

    CH-Nebula

    1. **兼容性**:CH-Nebula模拟器通常支持多种街机游戏ROM,除了内置的《街头霸王》,还可能包括其他经典游戏,如《快打旋风》、《拳皇》系列等。 2. **图形和声音**:模拟器旨在尽可能地重现原版街机的视觉和听觉...

    Nebula架构文档

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

Global site tag (gtag.js) - Google Analytics