- 浏览: 149544 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
EclipseEye:
fair_jm 写道不错 蛮详细的 谢谢分享
SWT/JFace专题 --- SWT中Display和多线程 -
fair_jm:
不错 蛮详细的 谢谢分享
SWT/JFace专题 --- SWT中Display和多线程
首先说明的是:
为了用滚动面板最好用3个层次的Composite:
befComposite---滚动面板的直接父类; scrolledComposite---滚动面板自己;inComposite--滚动面板的直接子类,用于存放各种子控件。
然后就是对inComposite填充数据了,别忘了 动态填充数据后inComposite.layout();使数据动态呈现。
-------------------------------------------------------------------------------------
如果按以上步骤滚动条出现了,但是没有滚动效果,那么做如下处理:
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
在正确设置的情况下,滚动面板的滚动条不能动时,原因:就是该滚动面板未获得焦点,只要手动之定义让其获得焦点点就可以了,上面的
另外 vb.setIncrement(10); 是设置自定义的滚动幅度大小,可以根据需要自行设置。
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
为了用滚动面板最好用3个层次的Composite:
befComposite---滚动面板的直接父类; scrolledComposite---滚动面板自己;inComposite--滚动面板的直接子类,用于存放各种子控件。
Composite befComposite= new Composite(shell, SWT.NONE); gridData = new GridData(GridData.FILL_BOTH); befComposite.setLayoutData(gridData); befComposite.setLayout(new FillLayout());//这个是必须的,就是滚动面板的直接父类 layout类型必须是:FillLayout对象 ScrolledComposite scrolledComposite = new ScrolledComposite(befComposite, SWT.H_SCROLL | SWT.V_SCROLL); scrolledComposite.setExpandHorizontal(true); scrolledComposite.setExpandVertical(true); //这两句是设置水平和竖直滚动条可见的,也是必须的。 Composite inComposite= new Composite(scrolledComposite, SWT.NONE); gridData = new GridData(GridData.FILL_BOTH); inComposite.setLayoutData(gridData); inComposite.setLayout(new RowLayout()); scrolledComposite.setContent(inComposite); scrolledComposite.setMinSize(new Point(140, 680)); //这两句是指定滚动面板的内容及最小大小的,也是必须的,不然是没有滚动效果的
然后就是对inComposite填充数据了,别忘了 动态填充数据后inComposite.layout();使数据动态呈现。
-------------------------------------------------------------------------------------
如果按以上步骤滚动条出现了,但是没有滚动效果,那么做如下处理:
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ScrollBar vb = scrolledComposite.getVerticalBar();// 控制垂直方向滚动增量 vb.setIncrement(10); inComposite.addMouseListener(new MouseAdapter(){ @Override public void mouseDown(MouseEvent e) { inComposite.setFocus(); } });
在正确设置的情况下,滚动面板的滚动条不能动时,原因:就是该滚动面板未获得焦点,只要手动之定义让其获得焦点点就可以了,上面的
public void mouseDown(MouseEvent e) { inComposite.setFocus(); }只是其中的一种方法,可以是任意的监听,只要保证在鼠标滚动前 滚动面板或其直接子类 setFocus() 就可以了。
另外 vb.setIncrement(10); 是设置自定义的滚动幅度大小,可以根据需要自行设置。
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
发表评论
-
再说SWT中的滚动面板ScrolledComposite实现
2013-06-19 15:43 2329记得以前写过一篇关于滚动面板的文章 SWT中 Scrolle ... -
OSGi参考资料
2013-04-18 01:11 685基于 OSGi 的面向服务的组件编程 探索 OSGi 框架的组 ... -
CDT(编辑、调试)参考资料
2013-04-17 02:15 1115CDT编辑器 --------- 构建基于 CDT 的编辑器, ... -
Workspace Resource框架专题(3)处理工作空间资源更改事件
2013-04-17 01:44 13823 处理工作空间资源更改事件 工作空间API允许工具对它 ... -
Workspace Resource框架专题(2)workspace 框架API
2013-04-17 01:27 14922 工作空间API 本 ... -
Workspace Resource框架专题(1)Resource的概念
2013-04-17 01:12 13951 Resource的概念 如 ... -
如何恢复断点及Marker
2013-03-05 00:41 0如何恢复断点及Marker -
深入Workbench框架
2013-03-01 02:10 1732深入Workbench框架(结合UIPersistent) 1 ... -
Eclipse插件开发中的Action
2013-02-24 23:10 2006插入点用来定义菜单出 ... -
Eclipse开发中编辑器(Editors)和视图(View)总结
2013-02-24 22:58 29141.视图(Views) 视图( ... -
SWT/JFace专题 --- 对话框向导(Dialogs Wizards)
2013-02-24 22:42 2244对话框向导(Dialogs Wizar ... -
SWT/JFace专题 --- JFace
2013-02-24 22:37 1645JFace JFace是基于SWT的一套图形工具包,它没有为 ... -
SWT/JFace专题 --- SWT中Display和多线程
2013-02-24 15:25 3242Display 1.Display 的创建 一个SWT程序 ... -
SWT/JFace专题 --- SWT API 结构
2013-02-23 18:31 1081SWT API 结构 1.布局类(l ... -
Eclipse启动过程(源码级剖析)
2013-02-20 03:24 3423双击eclipse安装目录下的eclipse.exe运行后,会 ... -
SWT/JFace专题 --- SWT结构浅析
2013-02-23 17:02 1025SWT技术是一套基于Java的 ... -
Eclipse平台体系结构
2013-02-21 23:56 18951.Eclipse平台体系结构 1 ... -
RCP平台架构
2013-02-23 14:11 1489RCP 富客户端通常是指具有独立用户界面的客户端程序。富客户 ... -
Ant构建脚本相关
2013-02-18 01:26 0Ant构建脚本相关 -
CDT源码架构研究
2013-02-18 01:24 0CDT源码架构研究
相关推荐
ScrolledComposite自动出现最适合大小的滚动条代码
org.eclipse.swt.SWT.class org.eclipse.swt.SWTError.class org.eclipse.swt.SWTException.class org.eclipse.swt.accessibility.ACC.class org.eclipse.swt.accessibility.Accessible.class org.eclipse.swt....
在SWT中,可以使用ScrolledComposite来自动管理滚动条。 5. 图片选择和操作:SWT提供了复选框和其他控件,以实现选择、全选和反选图片的功能。这些功能可以通过监听用户的鼠标点击事件并更新内部数据结构来实现。 ...
SWT中的容器类用于组织和管理其他控件,常见的容器包括但不限于以下几种: - **Composite类**: 基础容器类,可以容纳多个子控件。 - **Group类**: 分组容器,常用于逻辑分组控件。 - **TabFolder类和TabItem类**: ...
- **ScrolledComposite**: 滚动容器,当其内容超出窗口大小时,会自动添加滚动条。 - **Shell**: 顶层容器,相当于一个窗口。 #### 七、布局管理器 SWT 提供了多种布局管理器来帮助开发者管理和调整组件的位置和...
SWT(Standard Widget Toolkit)与JFace是Eclipse平台中用于构建图形用户界面(GUI)的重要工具包。它们提供了一种高效且可移植的方式来创建Java应用程序的用户界面,弥补了Java原生GUI库如AWT和Swing在界面效果和...
6.7 滚动面板(ScrolledComposite) 95 6.7.1 设置滚动条的样式 96 6.7.2 滚动面板的其他方法 97 6.8 本章小结 97 第7章 SWT布局管理器 98 7.1 布局管理器概述 98 7.1.1 绝对定位 98 7.1.2 托管定位 ...
面板是SWT中最基本的容器类型,它允许开发者创建一个区域来容纳其他组件。`Composite`类是所有容器的基础,可以嵌套使用,提供了一种层次化的组件结构。通过`getChildren()`方法可以获取到面板上的所有子组件,`...
5. `org.eclipse.swt.custom`:提供了自定义组件,如ScrolledComposite、StyledText等。 6. `org.eclipse.swt.ole`:支持OLE(Object Linking and Embedding)功能,如在应用程序中嵌入其他应用程序的对象。 【第一...
在这个实例中,我们将深入探讨如何在RCP环境中实现一个基本的文本编辑器,帮助初学者更好地理解这一过程。 首先,我们需要了解Eclipse RCP的基本结构。RCP应用通常由多个插件组成,每个插件都有特定的功能。在这个...
在描述中提到的"TableViewerDemo"很可能是一个简单的程序,展示了如何使用SWT中的`TableViewer`类来创建和展示数据。`TableViewer`是JFace数据视图器框架的一部分,它为SWT的`Table`控件提供了更高级的数据绑定和...
swt常有控件入门demo Button1.java Canvas1.java Combo1.java Menu1.java SashForm1.java ScrolledComposite1.java SimpleEditor1.java SimpleEditor2.java Slider1.java TabFolder1.java ToolBarExample.java ...