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的占位功能,这对于构建具有多视图的工作环境至关重要。 首先,我们需要理解ViewPart的基本概念。在Eclipse RCP中,ViewPart是用户界面中的一个组件,它通常...
在这个实例中,我们将深入探讨如何在RCP环境中实现一个基本的文本编辑器,帮助初学者更好地理解这一过程。 首先,我们需要了解Eclipse RCP的基本结构。RCP应用通常由多个插件组成,每个插件都有特定的功能。在这个...
其中,向视图中添加控件的操作,我们即可以手工编写,也可以使用Designer插件,我这里推荐大家使用Designer插件,该插件对RCP提供功能非常强大的支持,如果使用Designer插件开发视图,则plugin.xml文
这个项目旨在演示如何利用GEF进行图形界面开发,并且特别关注了通过适配器(Adapter)扩展点来实现属性页配置以及在非Editor的ViewPart中使用GEF。 GEF是Eclipse平台下的一个开源库,专门用于构建可自定义的、图形...
1. **创建新插件项目**:在Eclipse中,使用"New -> Plugin Project"创建一个新的插件项目。填写项目名称和配置信息,确保选择正确的依赖项,如JDT(Java Development Tools)和PDE(Plug-in Development Environment...
9. **布局管理**:为了美观地排列控件,需要使用布局管理器,如 `GridLayout` 或 `FormLayout`。这确保了窗口在不同屏幕分辨率和尺寸下都能正确显示。 10. **样式和主题**:SWT 允许自定义窗口的外观,包括颜色、...
在实际项目中,开发者通常会结合JFace库使用SWT,JFace提供了一些高级抽象和便利的功能,如数据绑定、视图和编辑器框架等,简化了SWT的使用。JFace的`ViewPart`和`EditorPart`类可以帮助构建Eclipse插件和RCP(Rich ...
通过使用ViewPart和TableViewer,开发者可以方便地创建显示和编辑数据的视图。我们可能学习了如何定义列、排序、过滤和选择操作,以及如何处理行级别的事件。 第13部分可能讨论了对话框和消息框的创建,这是用户...
在RCP应用中,我们通常使用SWT(Standard Widget Toolkit),它是Eclipse GUI的基础。可以创建一个`ChartComposite`对象,它是SWT和JFreeChart之间的桥梁,然后将`JFreeChart`实例传递给它,将其添加到视图的`...
通过这个示例集,你可以深入学习如何使用SWT和JFace创建复杂的GUI应用,了解它们的用法、性能以及如何在实际项目中优化代码和提高效率。这些示例将帮助开发者快速上手并熟练掌握这两个库的使用,从而构建出功能丰富...
2. **布局管理**:讲解如何使用GridLayout、FormLayout、FillLayout等布局管理器来组织控件。 3. **事件处理**:如何编写事件监听器,响应用户的点击、输入等操作。 4. **数据绑定**:通过JFace的数据绑定服务,将...
通过新建一个类继承自`ViewPart`,并重写其`createPartControl()`方法,定义视图的显示内容和行为。 5. **添加菜单和工具栏** 使用`plugin.xml`配置菜单和工具栏,关联到相应的操作。操作(Action)是Eclipse RCP...
例如,如果你要创建一个视图,就需要继承JFace的ViewPart类。 2. 注册组件:在plugin.xml文件中,你需要注册你的视图、编辑器或命令等,以便Eclipse知道如何使用它们。 五、运行与调试 1. 运行时环境:使用Run > ...
SWT (Standard Widget Toolkit) 和 JFace 是两个用于构建Java图形用户界面(GUI)的开源库,它们在Java开发领域中被广泛使用,特别是在Eclipse IDE及其插件开发中。SWT是底层的UI库,提供了与操作系统原生控件直接...
4. **注入Spring Bean**:在RCP组件(如ViewPart或EditorPart)中,我们可以使用`@Autowired`注解或者通过ApplicationContext的getBean()方法获取Spring管理的bean,将其注入到RCP组件中。 5. **处理事件和命令**:...
6. **创建Java类**:编写实现插件功能的Java类,例如在JDT插件开发的例子中,创建了一个`HelloWorld`类,继承自`ViewPart`,并在`createPartControl`方法中添加了一个显示"Hello, World!"的Label。 7. **创建XML...