- 浏览: 1152231 次
- 性别:
- 来自: 火星郊区
博客专栏
-
OSGi
浏览量:0
文章分类
- 全部博客 (695)
- 项目管理 (48)
- OSGi (122)
- java (79)
- Vaadin (5)
- RAP (47)
- mysql (40)
- Maven (22)
- SVN (8)
- 孔雀鱼 (10)
- hibernate (9)
- spring (10)
- css (3)
- 年审 (6)
- ant (1)
- jdbc (3)
- FusionCharts (2)
- struts (4)
- 决策分析 (2)
- 生活 (10)
- 架构设计 (5)
- 破解 (2)
- 狼文化 (4)
- JVM (14)
- J2EE (1)
- 应用服务器 (1)
- 我的链接 (5)
- 数学 (2)
- 报表 (1)
- 百科 (6)
- Flex (7)
- log4j (2)
- PHP (1)
- 系统 (2)
- Web前端 (7)
- linux (6)
- Office (1)
- 安全管理 (5)
- python (2)
- dom4j (1)
- 工作流 (3)
- 养生保健 (4)
- Eclipse (8)
- 监控开发 (1)
- 设计 (3)
- CAS (1)
- ZK (41)
- BluePrint (3)
- 工具 (1)
- SWT (7)
- google (2)
- NIO (1)
- 企业文化 (2)
- Windoes (0)
- RCP (7)
- JavaScript (10)
- UML (1)
- 产品经理 (2)
- Velocity (10)
- C (1)
- 单元测试 (1)
- 设计模式 (2)
- 系统分析师 (2)
- 架构 (4)
- 面试 (2)
- 代码走查 (1)
- MongoDB (1)
- 企业流程优化 (1)
- 模式 (1)
- EJB (1)
- Jetty (1)
- Git (13)
- IPV6 (1)
- JQuery (8)
- SSH (1)
- mybatis (10)
- SiteMesh (2)
- JSTL (1)
- veloctiy (1)
- Spring MVC (1)
- struts2 (3)
- Servlet (1)
- 权限管理 (1)
- Java Mina (1)
- java 系统信息 (6)
- OSGi 基础 (3)
- html (1)
- spring--security (6)
- HTML5 (1)
- java爬虫搜索 (1)
- mvc (3)
最新评论
-
Tom.X:
http://osgia.com/
将web容器置于OSGi框架下进行web应用的开发 -
chenyuguxing:
你好, 为什么我的bundle export到felix工程中 ...
在Apache Felix中运行bundle -
string2020:
<niceManifest>true</ni ...
Bundle Plugin for Maven -
jsonmong:
OSGI,是未来的主流,目前已相当成熟。应用OSGI比较好的, ...
基于OSGi的声明式服务 -
zyhui98:
貌似是翻译过来的,有很少人在linux上做开发吧
如何成为“10倍效率”开发者
RowLayout
因为可以换行布局及可以设置间距和填充,所以RowLayout 使用比FillLayou 广泛的多。 RowLayout 有几个配置字段。甚至其中每个部件的宽度和高度都可以通过部件 的RowData ,使用setLayoutData 方法精确 的设定。
RowLayout 的配置字段
Type *New in 2.0*
Type 字段用来设置RowLayout 放置部件是按水平方向放置或垂直方向放置。默认值为水平方向放置 SWT.HORIZONTAL 。
Warp
Warp 字段是用来设置当此行没有足够的空间来放置部件时RowLayout 是否要将部件换到下一行上来显示,默认值为true 。
Pack
当Pack 字段为真时RowLayout 中的部件将会保持他们原来的大小,并且是左对齐的。如果Pack 的值是false 的则部件将填满整个可利用的区域,跟FillLayout 相似 。其默认值是true 。
Justify
如果Justify 为true 时RowLayout 中的 各个部件将会在整个可利用区域从左到右依次展开排列,如果起父容器Composite 的变宽时,则其空白区域将会平均的分配大到各个部件。如果Justify 和Pack 同时为true ,则各部件将使用他们原来的大小,而空白区域被放置到各 个部件中间,以便可以正当的充满其区域。Justify 的默认值为false 。
MarginLeft, MarginTop, MarginRight, MarginBottom and Spacing
这写字段用像素来控制部件与部件之间(间距,spacing )、部件和其容器之间(填充,margin )宽度。默认的 RowLayout 的填充和间距为3 像素宽。各个 字段如下所示:
RowLayout 的示例
下面代码首先创建RowLayout 对象然后 设置其各个字段均不为默认属性,然后将其设置为shell 的布局。
RowLayout rowLayout = new RowLayout();
rowLayout.wrap = false;
rowLayout.pack = false;
rowLayout.justify = true;
rowLayout.type = SWT.VERTICAL;
rowLayout.marginLeft = 5;
rowLayout.marginTop = 5;
rowLayout.marginRight = 5;
rowLayout.marginBottom = 5;
rowLayout.spacing = 0;
shell.setLayout(rowLayout);
如果你要使用默认的设置则只需要一行代码:
shell.setLayout( new RowLayout());
下面的表格展示了其字段详细的设置及运行结果:
|
Initial |
After resize |
wrap = true pack = true justify = false type = SWT.HORIZONTAL (defaults) |
|
|
wrap = false (clips if not enough space) |
|
|
pack = false
(all widgets are the same size) |
|
|
justify = true
(widgets are spread across the available space) |
|
|
type = SWT.VERTICAL
(widgets are arranged vertically in columns) |
|
|
使用RowData 对象和RowLayout
每个被RowLayout 控制的部件可以通过设置RowData 来控制其宽度和高度。下面的代码是使用了RowData 来改变shell 中按钮的初始大小。
import org.eclipse.swt.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.layout.*;
public class RowDataExample {
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setLayout( new RowLayout());
Button button1 = new Button(shell, SWT.PUSH);
button1.setText( "Button 1" );
button1.setLayoutData( new RowData(50, 40));
Button button2 = new Button(shell, SWT.PUSH);
button2.setText( "Button 2" );
button2.setLayoutData( new RowData(50, 30));
Button button3 = new Button(shell, SWT.PUSH);
button3.setText( "Button 3" );
button3.setLayoutData( new RowData(50, 20));
shell.pack();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) display.sleep();
}
}
}
运行这些代码后效果如图:
发表评论
-
RCP开发者的好去处之ICON系列(持续更新中... ...)
2012-03-31 10:13 1123为了找个合适的图片是不是头大的不像样子了?OK,我现在就 ... -
RAP 整合 Spring (基于 Spring-osgi )
2012-03-31 10:12 1386RAP 介绍请见: http://www.eclipse. ... -
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
2012-03-25 14:50 1464引用 在rcp的路径添加了mysql驱动,并添加之cla ... -
解决JFace Dialog中ScrollComposite无法滚动
2012-03-26 10:26 1592今天写了一个Jface的dialog,作为配置界面,其中有 ... -
SWT实现弹出日历控件
2012-03-27 08:00 2584实现像网页上的那种用户单击一个Text框然后框下面出现一个日历 ... -
JFace进度条
2012-03-27 08:01 1114Java代码 someB ... -
getConfigurationElementsFor 无法获得扩展点的信息
2012-03-26 10:27 1092做项目的时候RCP程序在eclipse调试环境下面运行正常 ... -
测试rcp 和 rap 何时触发 组建.addListener(SWT.xxx, new Listener() )的方法
2012-02-24 14:22 1282Java代码 直接通过反射让组建监 ... -
RAP 界面显示不完全的问题
2012-02-24 14:22 1238rap运行第一刷新界面总是刷新不完整,组件错位,后台报Layo ... -
Uploading files with RAP 1.4
2012-02-17 11:37 1617One of the new things in RAP 1. ... -
【RAP】CAS PIA 快速浏览入口地址
2012-02-07 08:23 1238下面的链接是访问RAP应用的入口。有2中方式,图片上已经注明。 ... -
RAP 与 RCP的区别
2012-02-07 08:23 1325RAP 可以让开发人员使用 JAVA API 和按照 E ... -
将Eclipse RAP部署到Tomcat中
2012-02-07 08:23 1140在上次成功将我的RCP项目迁移到浏览器中运行后,开始研究 ... -
RAP(Rich AJAX Platform)的可部署文件下载
2012-02-07 08:24 1138这是我自己做的RAP的可部署文件,可以下载下来解压到Tom ... -
Eclipse rcp/rap 开发经验总结(15) -rap如何使用js
2012-02-03 08:11 14481. 把输入的字符串当 javascript 执行 ... -
Eclipse rcp/rap 开发经验总结(14) -rap 图片、数据缓存处理
2012-02-03 08:10 1514一、概述 在进行了 rap 的基本学习之后,您对 rap ... -
Eclipse rcp/rap 开发经验总结(13) -Rap/Rcp保存按钮处理方式
2012-02-03 08:10 1083一、概述 在做项目的过程中,处理编辑区的保存机制的时候。发 ... -
Eclipse rcp/rap 开发经验总结(12) -Rap 优化之组件的销毁
2012-02-03 08:10 873一、概述 经过几个月的rap 项目实战,总结了一些小 ... -
Eclipse rcp/rap 开发经验总结(11) -rcp/rap与spring ibatis集成
2012-02-03 08:10 13121. rcp/rap 与 spring 集成 Activa ... -
Eclipse rcp/rap 开发经验总结(10) -Rap不同系统间的差异和处理方式
2012-02-01 08:01 1398平常进行 rap 程序开发一般都是在 win ...
相关推荐
本篇主要关注的是`RowLayout`,这是一种更加灵活且功能强大的布局方式,相比`FillLayout`提供了更多的自定义选项。 `RowLayout`布局允许用户对子组件的大小、边距、换行和间距进行精确控制,从而实现更加复杂和有序...
笔者在使用Qml语言开发产品时,使用quick1.1版本,都是一些基础的控件,比如布局类的控件(Row, Column等)这样的控件虽然通用,但在特定的场合下还是有很大的局限性。比喻Row水平布局没有自动居中布局控件的功能,...
RowLayout layout = new RowLayout(JJWT.VERTICAL); layout.marginLeft = 10; layout.marginTop = 10; layout.marginRight = 10; layout.marginBottom = 10; layout.fill = false; layout.wrap = true; ...
2. `RowLayout`:允许组件在一行或多行中排列,支持填充、换行和间距选项。 3. `GridLayout`:将组件放置在网格中,可以灵活调整列数和行数。 4. `FormLayout`(2.0新特性):通过定义组件的边界粘贴位置来布局,...
RowLayout的一些关键属性包括`wrap`(决定是否允许换行)、`justify`(是否使各行中的组件宽度相等)、`type`(指定布局的方向,可以是水平或垂直)等。 #### GridLayout网格布局 GridLayout是最常用的布局管理器...
2. **RowLayout**: 与ColumnLayout相反,它将元素沿水平轴排列,适合并排显示控件。例如: ```qml RowLayout { spacing: 10 Button { text: "Left" } Button { text: "Right" } } ``` 3. **GridLayout**: 根据...
- RowLayout的属性包括`wrap`(是否允许换行)、`align`(对齐方式,如`SWT.LEFT`、`SWT.CENTER`或`SWT.RIGHT`)和`spacing`(行间间距)等。 3. **GridLayout**: - GridLayout是一种网格布局,允许子组件占据父...
本章主要介绍了SWT中的五种布局管理器:FillLayout、RowLayout、GridLayout、FormLayout和StackLayout。 7.1 布局管理器概述 布局管理器简化了组件定位的复杂性,避免了使用setBounds()方法进行绝对坐标定位的不便...
QML中的布局分为多个类型,例如ColumnLayout、GridLayout、RowLayout等,它们各自负责特定方向上的元素排列。例如: 1. ColumnLayout:沿垂直方向排列元素,从上到下,可以灵活控制每个元素的高度和宽度。 2. ...
本篇文章将详细介绍Webdynpro中四种基本的页面布局方式:`FlowLayout`、`RowLayout`、`MatrixLayout`以及`GridLayout`,并结合具体示例进行说明。 #### 二、基本概念 Webdynpro是一种基于ABAP的技术,用于构建高度...
本篇文章旨在详细介绍Webdynpro中几种常用的布局方式,包括`FlowLayout`、`RowLayout`、`MatrixLayout`及`GridLayout`。这些布局方式能够帮助开发者更好地管理界面上的控件排列与分布,从而提高用户体验。 #### 二...
常见的布局包括`FillLayout`、`GridLayout`和`RowLayout`等。不同的布局策略可以满足不同的界面设计需求。 - **FillLayout**:使所有控件填充容器。 - **GridLayout`:通过行列结构来排列控件。 - **RowLayout**:...
布局管理器决定了控件在窗口中的排列方式,例如FillLayout使控件充满容器,GridLayout将控件按行和列分布,RowLayout则沿水平方向布局控件。 3. OSGi与SWT OSGi(Open Service Gateway Initiative)是一种模块化...
2. **RowLayout**:子组件沿行显示,可以自动换行,适用于需要排列多行组件的场景。 3. **GridLayout**:网格布局,允许子组件占据网格的多个单元,灵活控制组件的位置和数量。 4. **FormLayout**:这是一种更复杂...
- `GridLayout` 和 `RowLayout`:布局管理器,用于组织和对齐组件。 3. **计算器的设计** 计算器通常分为两部分:显示区域和按键区。显示区域使用`Text`组件展示计算结果,按键区包含数字键(0-9)、运算符键(+...
- **布局管理器**:用于控制控件的排列方式,包括 NullLayout、FillLayout、RowLayout、GridLayout 等多种布局类型。 #### 处理事件 SWT Designer 提供了一种直观的方法来添加和删除事件监听器。通过简单的拖放...
在设计这样的窗口时,你需要考虑布局管理,SWT提供了几种布局类型,如FillLayout、GridLayout、RowLayout和 MigLayout,它们帮助你控制组件在窗口中的排列方式。 "SWT designer"是一个强大的可视化设计工具,它允许...
对于“左边侧靠切换不同功能项”的实现,QML中的DockLayout或RowLayout布局管理器可以帮助你轻松地将侧边栏与主内容区域并排排列。通过添加可滑动的Panel或者Drawer组件,可以实现侧滑效果,面板内可以包含多个功能...