`
soundycui
  • 浏览: 84683 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

viewpart中GridLayout及GridData的使用

    博客分类:
  • RCP
阅读更多
public void createPartControl(Composite parent) {
	Composite composite = new Composite(parent, SWT.NONE);
	composite.setLayout(new GridLayout(2, false));//设置为两格
	{
		Group grpPythonlist = new Group(composite, SWT.NONE);
		{//水平,竖直填充且抢占
			GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
			gridData.widthHint = 363;
			gridData.heightHint = 440;
			grpPythonlist.setLayoutData(gridData);
		}
		grpPythonlist.setText("python List");
		grpPythonlist.setLayout(new GridLayout(1,true));//设置1格,否则直接加内容,上不去
		
		makeAction();//初始化各类Action 
		{
			ToolBar toolBar = new ToolBar(grpPythonlist, SWT.FLAT | SWT.RIGHT);
			ToolBarManager toolManager = new ToolBarManager(toolBar);
			toolManager.add(addAction);
			toolManager.add(clearAction);
			toolManager.add(deleteAction);
			toolManager.update(true);
		} 
		
		{
		//CheckboxTableViewer.newCheckList(parent, style)
			viewer = new CheckboxTreeViewer(grpPythonlist, SWT.MULTI | SWT.H_SCROLL
					| SWT.V_SCROLL | SWT.BORDER);
			Tree tree = viewer.getTree();
			tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
			viewer.setContentProvider(new ViewContentProvider());
			viewer.setLabelProvider(new ViewLabelProvider());
			viewer.setInput(createDummyModel());
			viewer.addSelectionChangedListener(new ExecuteTreeSelectionChangeListener());
			viewer.expandAll();
		}
		}
		{
		Group grpVm = new Group(composite, SWT.NONE);
		{//同上
			GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
			gridData.widthHint = 282;
			grpVm.setLayoutData(gridData);
		}
		grpVm.setLayout(new GridLayout(1, true));
		grpVm.setText("VM");
		{
			{
				ToolBar toolBar = new ToolBar(grpVm, SWT.FLAT | SWT.RIGHT);
				toolBar.setBounds(10, 22, 212, 22);
				ToolBarManager toolManager = new ToolBarManager(toolBar);
				toolManager.add(addVmAction); 
				toolManager.add(modifyVmAction);
				toolManager.add(deleteVmAction);
				toolManager.update(true);
			}
			ipViewer = new CheckboxTreeViewer(grpVm, SWT.BORDER);
			Tree tree = ipViewer.getTree();
			tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
			ipViewer.setContentProvider(new ViewContentProvider());
			ipViewer.setLabelProvider(new IpViewLabelProvider());
			ipViewer.addCheckStateListener(new IPCheckStateListener()); 
			ipViewer.setInput(getIpViewerInputData());
			ipViewer.addSelectionChangedListener(new IpViewerSelectionChangeListener());
			ipViewer.addDoubleClickListener(new IpViewerDoubleClickListener());
			ipViewer.expandAll();
				 
		} 
	} 
}   

分享到:
评论

相关推荐

    Eclipse RCP程序ViewPart占位功能的实现

    本教程将深入探讨如何在Eclipse RCP程序中实现ViewPart的占位功能,这对于构建具有多视图的工作环境至关重要。 首先,我们需要理解ViewPart的基本概念。在Eclipse RCP中,ViewPart是用户界面中的一个组件,它通常...

    rcp的文本编辑器的实例

    在这个实例中,我们将深入探讨如何在RCP环境中实现一个基本的文本编辑器,帮助初学者更好地理解这一过程。 首先,我们需要了解Eclipse RCP的基本结构。RCP应用通常由多个插件组成,每个插件都有特定的功能。在这个...

    使用EclipseRCP进行桌面程序开发(三):视图和透视图

    其中,向视图中添加控件的操作,我们即可以手工编写,也可以使用Designer插件,我这里推荐大家使用Designer插件,该插件对RCP提供功能非常强大的支持,如果使用Designer插件开发视图,则plugin.xml文

    GEF_Demo_Code20170307

    这个项目旨在演示如何利用GEF进行图形界面开发,并且特别关注了通过适配器(Adapter)扩展点来实现属性页配置以及在非Editor的ViewPart中使用GEF。 GEF是Eclipse平台下的一个开源库,专门用于构建可自定义的、图形...

    java 开发视图插件(View) eclipse

    1. **创建新插件项目**:在Eclipse中,使用"New -> Plugin Project"创建一个新的插件项目。填写项目名称和配置信息,确保选择正确的依赖项,如JDT(Java Development Tools)和PDE(Plug-in Development Environment...

    SWT/JFACE客户端登录窗口例子

    9. **布局管理**:为了美观地排列控件,需要使用布局管理器,如 `GridLayout` 或 `FormLayout`。这确保了窗口在不同屏幕分辨率和尺寸下都能正确显示。 10. **样式和主题**:SWT 允许自定义窗口的外观,包括颜色、...

    java程序设计之swt教程

    在实际项目中,开发者通常会结合JFace库使用SWT,JFace提供了一些高级抽象和便利的功能,如数据绑定、视图和编辑器框架等,简化了SWT的使用。JFace的`ViewPart`和`EditorPart`类可以帮助构建Eclipse插件和RCP(Rich ...

    Eclipse_Swt_Jface_核心应用_part10--15_of_19

    通过使用ViewPart和TableViewer,开发者可以方便地创建显示和编辑数据的视图。我们可能学习了如何定义列、排序、过滤和选择操作,以及如何处理行级别的事件。 第13部分可能讨论了对话框和消息框的创建,这是用户...

    在RCP中显示JFreeChart报表

    在RCP应用中,我们通常使用SWT(Standard Widget Toolkit),它是Eclipse GUI的基础。可以创建一个`ChartComposite`对象,它是SWT和JFreeChart之间的桥梁,然后将`JFreeChart`实例传递给它,将其添加到视图的`...

    SWT 各种小示例集中

    通过这个示例集,你可以深入学习如何使用SWT和JFace创建复杂的GUI应用,了解它们的用法、性能以及如何在实际项目中优化代码和提高效率。这些示例将帮助开发者快速上手并熟练掌握这两个库的使用,从而构建出功能丰富...

    swt/jface实例开发

    2. **布局管理**:讲解如何使用GridLayout、FormLayout、FillLayout等布局管理器来组织控件。 3. **事件处理**:如何编写事件监听器,响应用户的点击、输入等操作。 4. **数据绑定**:通过JFace的数据绑定服务,将...

    实现 RCP 应用程序的步骤

    通过新建一个类继承自`ViewPart`,并重写其`createPartControl()`方法,定义视图的显示内容和行为。 5. **添加菜单和工具栏** 使用`plugin.xml`配置菜单和工具栏,关联到相应的操作。操作(Action)是Eclipse RCP...

    Eclipse 插件开发 简易教程

    例如,如果你要创建一个视图,就需要继承JFace的ViewPart类。 2. 注册组件:在plugin.xml文件中,你需要注册你的视图、编辑器或命令等,以便Eclipse知道如何使用它们。 五、运行与调试 1. 运行时环境:使用Run > ...

    SWT/JFACE API

    SWT (Standard Widget Toolkit) 和 JFace 是两个用于构建Java图形用户界面(GUI)的开源库,它们在Java开发领域中被广泛使用,特别是在Eclipse IDE及其插件开发中。SWT是底层的UI库,提供了与操作系统原生控件直接...

    rcp与spring集成的一个简单例子

    4. **注入Spring Bean**:在RCP组件(如ViewPart或EditorPart)中,我们可以使用`@Autowired`注解或者通过ApplicationContext的getBean()方法获取Spring管理的bean,将其注入到RCP组件中。 5. **处理事件和命令**:...

    Eclipse插件开发教程.ppt

    6. **创建Java类**:编写实现插件功能的Java类,例如在JDT插件开发的例子中,创建了一个`HelloWorld`类,继承自`ViewPart`,并在`createPartControl`方法中添加了一个显示"Hello, World!"的Label。 7. **创建XML...

Global site tag (gtag.js) - Google Analytics