在RCP的开发中,我们经常需要在table中让用户去选则某些行来进行某些操作,在tableview中我们可以在style中设置SWT.CHECK,但在管理上往往不是很方便,这里对CheckboxTableViewer来进行简单介绍和使用说明:
首先我们先创建table:
//先创建表 注意style中要包含 SWT.CHECK
Table table = new Table(parent, SWT.CHECK|SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER|SWT.V_SCROLL|SWT.H_SCROLL);
table.setLayoutData(new GridData(GridData.FILL_BOTH));
//设置表头
String[] tableCols = {"ID" , "姓名" , "性别" , "电话"};
for(String colStr : tableCols) {
TableColumn tc = new TableColumn(table, SWT.LEFT); //靠左
tc.setText(colStr);
tc.setWidth(70);
}
//设置line 和header显示
table.setLinesVisible(true);
table.setHeaderVisible(true);
然后在table上我们初始化 CheckboxTableViewer:
checkTableView = new CheckboxTableViewer(table);
设置标签管理器和内容管理器
/**
* 标签管理
* @author lyf
*
*/
private class PersonLabelProvider extends LabelProvider implements
ITableLabelProvider {
@Override
public Image getColumnImage(Object element, int columnIndex) {
// TODO Auto-generated method stub
return null;
}
@Override
public String getColumnText(Object element, int columnIndex) {
switch (columnIndex) {
case 0:
return ((Person)element).getId();
case 1:
return ((Person)element).getName();
case 2:
return ((Person)element).getSex();
case 3:
return ((Person)element).getTel();
default:
return "";
}
}
}
/**
* 内容管理
*
* @author lyf
*
*/
private class PersonContentProvider implements
IStructuredContentProvider {
@Override
public void dispose() {
// TODO Auto-generated method stub
}
@Override
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
// TODO Auto-generated method stub
}
@SuppressWarnings("rawtypes")
@Override
public Object[] getElements(Object inputElement) {
if(inputElement instanceof List) {
return ((List)inputElement).toArray();
}
return new Object[0];
}
}
OK!差不多了 我们给tableview setinput参数就可以了 在这里我自己创建了实体类 Person来进行显示,具体可以见附件中完整的代码!
注:
在CheckboxTableViewer中 常用的几个方法有:
checkTableView.setAllChecked(true); 将tableview中所有的元素选中
checkTableView.setChecked(Object element,boolean state);设置tableview中某一个元素是否被勾选的状态
checkTableView.getChecked(Object element);查看某个元素是否被选中
checkTableView.getCheckedElements(); 返回所有被选中的元素集合,返回类型为Object[]
分享到:
相关推荐
RCP的优势在于它提供了一种模块化、可扩展的架构,使得开发者可以构建出功能丰富、用户界面友好的应用程序。 RCP的核心概念主要包括以下几个方面: 1. **插件(Plugin)**:在RCP中,一切皆插件。插件是RCP的基本...
Eclipse RCP中使用第三方包 Eclipse RCP(Rich Client Platform)是一种基于Java的插件式软件架构,允许开发者创建跨平台的桌面应用程序。使用Eclipse RCP,可以快速构建功能强大的客户端应用程序。然而,在实际...
- 在`New Plug-in Project`向导中,选择创建一个RCP应用(勾选`Would you like to create a rich client application?`)。 - 选择最基础的`Hello Rcp`模板。 - 完成配置后,点击`Finish`按钮创建项目。 3. **...
- **勾选OSGi选项**:选择“Create an OSGi bundle manifest”以使用OSGi进行打包,这在Eclipse 3.0及更高版本中是必需的。 - **选择RCP类型**:在“Rich Client Application”部分选择“Yes”,以创建RCP应用。 - *...
在本场景中,我们关注的是如何在RCP(Rich Client Platform)环境中对TableView的列进行排序。RCP是Eclipse框架的一个核心部分,允许开发者创建功能丰富的桌面应用程序。 在RCP中使用TableView,我们可以利用其提供...
Java中的RCP(Rich Client Platform)是一种用于构建桌面应用程序的框架,它允许开发者利用Java的强大功能来创建功能丰富的跨平台应用。JNI(Java Native Interface)是Java平台的一部分,它为Java代码提供了与本地...
RCP-1530型号遥控面板的特点是其小巧的机身体积和19英寸EIA机架内的安装能力,最多可安装五个单元。光圈和主黑电平调节模块采用摇杆式控制原理。而RCP-1500和RCP-1501型号遥控面板在操作面板上配有直接操作开关和...
在本文中,我们将深入探讨如何在Eclipse Rich Client Platform (RCP)应用程序中集成和显示JFreeChart报表。JFreeChart是一个强大的Java库,用于创建各种图表类型,如折线图、柱状图、饼图等,而RCP是Eclipse框架的一...
了解并掌握这些知识点后,开发者可以有效地在RCP程序中集成新的功能模块,提高应用的可定制性和可扩展性。同时,通过熟练运用插件系统,开发者能够利用Eclipse社区的大量开源插件资源,降低开发成本,提高开发效率。...
在RCP中,OSGI作为底层的模块化框架,为RCP提供了动态加载和管理插件的能力。开发者可以通过创建OSGI Bundle来构建RCP插件,这些插件可以在运行时被RCP框架动态加载和卸载。这种结合使得RCP应用具备了高度的灵活性和...
7. **打包与部署**:将RCP应用打包成可执行的JAR或可安装的RCP产品,以便用户安装和运行。 **Eclipse_RCP(中文).doc文档**: 这个文档很可能是针对初学者的RCP教程,详细介绍了如何使用Eclipse RCP进行开发,包括...
RCP应用由一系列插件组成,每个插件负责特定的功能,从而实现模块化和可扩展性。 在开始RCP开发之前,首先需要了解Eclipse的插件体系。Eclipse插件是基于OSGi(Open Service Gateway Initiative)标准的,OSGi允许...
10. **调试和测试**:书中还会介绍如何在Eclipse RCP环境中进行调试和编写单元测试。 11. **扩展点(Extension Points)**:这是Eclipse RCP插件系统的关键特性,允许插件之间通过定义和使用扩展点来相互协作。 12...
描述中的"rcp中英文双版 建议读英文版 这样更有助于提高"提示学习者,尽管提供了中文版本,但推荐选择英文版进行学习,因为阅读原文通常可以更准确地理解技术概念,也有利于提升英语水平和技术词汇的理解。...
在Eclipse RCP(Rich Client Platform)开发中,适配器(Adapter)机制是一个核心概念,它使得组件之间能够解耦合,实现灵活的交互。本文将深入探讨如何在RCP应用中通过适配器实现属性视图(Property View),以展示...
Eclipse RCP为开发者提供了一种强大的、可扩展的、可定制化的平台,使得开发人员可以创建出具有丰富用户界面和高度交互性的应用。这个教程将带你一步步走进RCP的世界,掌握其核心概念和实践技巧。 首先,我们来理解...
标题中的“在Eclipse RCP中应用Spring OSGI 管理bean(一)”表明这是一篇关于如何在Eclipse Rich Client Platform (RCP)应用程序中集成Spring框架,并利用OSGi服务来管理Bean的教程。Eclipse RCP是一个用于构建桌面...
5. **命令和服务**:Eclipse RCP中的命令(Command)和服务(Service)机制,用于实现应用的可扩展性和互操作性,读者将学习如何定义和使用这些组件。 6. **透视图和工作台**:透视图(Perspective)定义了工作空间...