Eclipse Forms: 为胖客户端做的漂亮UI(翻译,第二部分)

eclipse可视化form插件 Jigloo 是一个 Eclipse 插件,使您可以快速构建在 Java™ 平台上运行的复杂图形用户界面 (GUI)。它可用于构建基于 Swing 的应用程序和基于 Standard Widget Toolkit (SWT) 的应用程序。它是一个易于使用的可视化编辑器,因此您可以为桌面应用程序快速创建 UI。在本教程中,将构建一个简单的工作流应用程序并将使用 Jigloo 创建它的 UI。了解开始使用 Jigloo 并进而使用其高级功能(例如可视化继承)是多么轻松。最后,我们将测试应用程序并将其打包以供其他人使用。 立即下载

增加一些内容
现在我们已经有一个view能够成功运行了.我们可以往里面增加一些内容.Eclipse forms有一个body,我们可以这样创建内容.

public void createPartControl(Composite parent) {
  toolkit = new FormToolkit(parent.getDisplay());
  form = toolkit.createForm(parent);
  form.setText("Hello, Eclipse Forms");
  GridLayout layout = new GridLayout();
  form.getBody().setLayout(layout);
  Hyperlink link = toolkit.createHyperlink(form.getBody(), 
    "Click here.", SWT.WRAP);
  link.addHyperlinkListener(new HyperlinkAdapter() {
   public void linkActivated(HyperlinkEvent e) {
    System.out.println("Link activated!");
   }
  });
 }

form的body是标题下面的可用空间.因为这个空间是一个SWT Composite,它能做为其它组件的parent.在上面的代码里,我们为body设置了layout, 然后创建了一个超链接.超链接是由Eclipse Forms提供的为数不多的组件之一.我们可以为超链接增加监听器,这样能够在用户点击它时做出反应.

升级后的视图应该看起来象这样:
 
图3:一个有超链接的简单form.

超链接组(Hyperlink Groups)
Form tookit有一个"超链接组"对象.每个创建出的超链接都加入这个组对象中.超链接为多个角色服务.它们定义了这个组中所有超链接在正常、hover、激活不同状态下的颜色.它们根据小组中链接不同的状态来改变颜色.它们根据小组中链接不同的状态来改变下划线风格.

当你要改变超链接组对象的默认设置时,可以通过toolkit的getHyperlinkGroup()方法来获得超链接组对象.

创建普通组件

Eclipse Forms的一个设计目标就是让能够在编辑器/视图中创建普通SW T组件.因为form的body是一个普通composite,你能够在它里面使用任何layout和组件.但是,记住"原生的"SWT组件有一个组件背景.我们现在通过它们的构造方法创建一些组 件.
  layout.numColumns = 2;
  GridData gd = new GridData();
  gd.horizontalSpan = 2;
  link.setLayoutData(gd);
  Label label = new Label(form.getBody(), SWT.NULL);
  label.setText("Text field label:");
  Text text = new Text(form.getBody(), SWT.BORDER);
  text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  Button button = new Button(form.getBody(), SWT.CHECK);
  button.setText("An example of a checkbox in a form");
  gd = new GridData();
  gd.horizontalSpan = 2;
  button.setLayoutData(gd);

现在我们使用了两列,并且创建了一个标签(label) ,一个文本框(text field)和一个复选框(checkbox).结果如下:
 

图4:一个拥有直接用它们的构造器创建出的SWT组件的form
 
这张图片怎么回事?我们创建的组件的背景直接和系统窗口背景相匹配 ,而不是和form的背景匹配.另外,文本框看起来还好是因为这张截图是在Windows XP下截的.在其它操作系统上,它会看起来是有一个3D边框的空白条.为了解决这个问题,我们会用toolkit的工厂方法来创建这些组件:
  Label label = toolkit.createLabel(form.getBody(), "Text field label:");
  Text text = toolkit.createText(form.getBody(), "");
  text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
  Button button = toolkit.createButton(form.getBody(), "A checkbox in a form", SWT.CHECK);
  gd = new GridData();
  gd.horizontalSpan = 2;
  button.setLayoutData(gd);
这个视图现在会看来更好些了:
 

图5:一个拥有用form toolkit的工厂方法创建出的SWT组件的form

由form toolkit提供的工厂方法是为了方便.Toolkit没有函盖 所有情况,甚至是SWT组件集合,而且明显没有为你可能有的自己定制的组件提供这一便利 .当你需要使一个SWT组件与form统一时,你应该使用一个方法:FormToolkit.adapt(Control control, boolean trackFocus, boolean trackKeyboard).所有的工厂方法各自分别调用了这个 适配方法.

达到"平滑"的视觉效果

一个在PDE编辑器中Eclipse Forms的可看出的属性是组件的"平滑"视觉效果.以前所有没有3D边框的组件在窗口中看起来不错,但是在编辑器或视图中就不行.这个支持写在FormToolkit类中.但是,在一些系统上它是通过一些定制达到的.举个例子,看一下这张从PDE编辑器(2.1版本)中的截图:

图片6:Eclipse 2.1中Eclipse Forms的平滑视觉效果.

象表格,文本类,复选框等,是加上一个平滑的1个象素宽的边框.这些边框不是来自组件自己(SWT.BORDER风格没有用到).另外,如果设置一下,tookit会为每个组件的parent 增加一个paint监听器,在paint事件发生时为组件加上边框.要想这样的话,你需要为你创建的象文本,表格,树等组件的每个composit e调用paintBordersFor(parent) .每个parent只需要调用一次方法就足够了:不需要为每个组件 这样调用.

Form toolkit知道哪个组件需要一个定制的边框.但是,你可能新创建了一个不在原来名单中的组件,它也需要一个边框.你可以通过象下面这样的代码给toolkit一个提示:

Control myControl = new MyControl(parent);
myControl.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TEXT_BORDER);
// or myControl.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TREE_BORDER);
toolkit.paintBordersFor(parent);

你可以在上面这张图中看出,象树和表格这样的"结构化(structural)"的组件有和文本区域不同的边框风格并且你可以选择和你的组件相符合的那个.注意用toolkit的工厂方法创建出的组件不需要这样做.

 因为Eclipse 3.0和在Windows XP上,当javaw.exe.manifest文件在Java虚拟机bin文件夹中时,没有边框产生出来.(这篇文章里我所有截图都是在Windows XP下截的).这个文件--你可以在 SWT home page上下载--告诉toolkit为本地组件使用XP皮肤.用XP皮肤,象文本,表格和树是已经平滑的并且不需要再去调整.为了让你的代码拥有可移植性,你可以总是调用paintBordersFor(Composite)方法,让toolkit去根据不同操作系统来决定该怎么做.

定制布局(Custom layouts)
Eclipse Forms在SWT layout的基础上增加了两个新的layout.这些layout继承了SWT Layout基类并能够在任何SWT composite上使用,但是一般都是和Eclipse Forms联合使用的.

TableWrapLayout
现在我们知道如何来组合一个form,让我们先给一个悬念.我们会改变那个超链接文本使它加长一些:
link.setText("This is an example of a form that is much longer "+
                     "and will need to wrap.");
让我们看看结果:
 

图片7:一个使用GridLayout的form

发生什么事了?记住我们使用的是GridLayout.当它问这个超链接组件来计算它大小时,超链接告诉它文字在单独行里需要的长度.虽然我们告诉组件去包裹(wrap),它并没有这样做因为GridLayout需要组件返回它的长度.超连接组件--和其它象Label一样的SWT组件,可以通过你传递它数值来决定长和宽,但是GridLayout不会向组件传递数值参数.

我们需要的是一个象HTML表格一样的layout.我们希望内容去试图配合提供的客户空间,并且一行行地叠加.Eclipse Forms提供了一个这样的layout叫TableWrapLayout.GridLayout和TableWrapLayout之间有许多共同点.都是用表格来组织parent的children.都有layout data来告诉layout如何对待每个组件.都能够在需要占据所有空间时等接受组件的提示.

但是,它们在布局时完全不同.TableWrapLayout从列开始.它计算每列的最小的,合适的,最大的宽度并用这个信息来占据空间.它也试图尽可能地公平地在各列间分隔,这样有些组件就没有多余的空间.

让我们使用TableWrapLayout来重新更改例子 (更改处高亮显示):
 
 public void createPartControl(Composite parent) {
  toolkit = new FormToolkit(parent.getDisplay());
  form = toolkit.createForm(parent);
  form.setText("Hello, Eclipse Forms");
  TableWrapLayout layout = new TableWrapLayout();
  form.getBody().setLayout(layout);
  Hyperlink link = toolkit.createHyperlink(form.getBody(),"Click here.", SWT.WRAP);
  link.addHyperlinkListener(new HyperlinkAdapter() {
   public void linkActivated(HyperlinkEvent e) {
    System.out.println("Link activated!");
   }
  });
  link.setText("This is an example of a form that is much longer and will need to wrap.");
  layout.numColumns = 2;
  TableWrapData td = new TableWrapData();
  td.colspan = 2;
  link.setLayoutData(td);
  Label label = toolkit.createLabel(form.getBody(), "Text field label:");
  Text text = toolkit.createText(form.getBody(), "");
  td = new TableWrapData(TableWrapData.FILL_GRAB);
  text.setLayoutData(td);
  Button button = toolkit.createButton(form.getBody(), "A checkbox in a form", SWT.CHECK);
  td = new TableWrapData();
  td.colspan = 2;
  button.setLayoutData(td);
 }


我们用了GridData相同的概念.一些变量拥有不同的名字(举个例子,colspan和rowspan,align和valign取自HTML TABLE的属性),但是你可以做相同的事--创建一个超链接和按钮占据两列的格子.因为空白(margins)和GridLayout是相同的,结果会看起来一样,除了超链接现在会包裹起来:


图片8:一个使用TableWrapLayout的form

TableWrapLayout和GridLayout的一个主要的不同点是你应该停止去计算垂直的空间.在GridLayout里,你一般会让"不易变形的(rigid)"组件用自然的位置和大小并让"可伸缩的(flexible)"组件去占据水平或垂直的空间.相反,TableWrapLayout是从上往下工作的,并且它容下所有的组件,它的工作是完全的.占据水平空间的概念还存在(象上面展示一样).但是,垂直方向上,你只能在单元(cell)比组件高时选择FILL单元,或选择TOP,MIDDLE或BOTTOM垂直对齐.
你也许会注意到一个地方和刚刚说的不符:TableWrapLayout仍然有一个grabVertical变量.但是,这里这个变量在这里有明确的目的:当一个设置了高度的组件占多行时,它的高度会给出一个条件就是垂直dimension已经知道了,组件需要去除它所在的多个单元之间的多余空间.

为了用TableWrapLayout有好的结果,确定组件可以接近风格(SWT.WRAP).Eclipse Froms提供的组合定制组件能够在box外面包裹.这是通过实现ILayoutExtension接口实现的:
public interface ILayoutExtension {
   /**
    * Computes the minimum width of the parent. All widgets capable of word
    * wrapping should return the width of the longest word that cannot be
    * broken any further.
    *
    * @param parent the parent composite
    * @param changed <code>true</code> if the cached information should be
    * flushed, <code>false</code> otherwise.
    * @return the minimum width of the parent composite
    */
   public int computeMinimumWidth(Composite parent, boolean changed);

   /**
    * Computes the maximum width of the parent. All widgets capable of word
    * wrapping should return the length of the entire text with wrapping
    * turned off.
    *
    * @param parent the parent composite
    * @param changed <code>true</code> if the cached information
    * should be flushed, <code>false</code> otherwise.
    * @return the maximum width of the parent composite
    */
   public int computeMaximumWidth(Composite parent, boolean changed);
}
TableWrapLayout本身实现了这个接口,这样让它处理当composites的layout是这个composite的parent的children的情况.另外的两个方法能够计算两种极端情况--当所有组件尽可能宽地布满时的显然的最小宽度和最大宽度.两者的不同是使列之间的多余空间尽可能小时贡献出公平的空间.

让我们看清楚贡献空间是怎样的.我们会推荐我们到现在为止写的代码 并象下面这样做出修改:
 
 layout.numColumns = 3;
 Label label;
 TableWrapData td;
 
 label = toolkit.createLabel(form.getBody(), 
  "Some text to put in the first column", SWT.WRAP);
 label = toolkit.createLabel(form.getBody(),
  "Some text to put in the second column and make it a bit "+
  "longer so that we can see what happens with column "+
  distribution. This text must be the longest so that it can "+
  "get more space allocated to the columns it belongs to.", 
  SWT.WRAP);
 td = new TableWrapData();
 td.colspan = 2;
 label.setLayoutData(td);
 label = toolkit.createLabel(form.getBody(), 
  "This text will span two rows and should not grow the column.", 
  SWT.WRAP);
 td = new TableWrapData();
 td.rowspan = 2;
 label.setLayoutData(td);
 label = toolkit.createLabel(form.getBody(), 
  "This text goes into column 2 and consumes only one cell", 
  SWT.WRAP);
 label.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
 label = toolkit.createLabel(form.getBody(), 
  "This text goes into column 3 and consumes only one cell too", 
  SWT.WRAP);
 label.setLayoutData(new TableWrapData(TableWrapData.FILL));
 label = toolkit.createLabel(form.getBody(), 
  "This text goes into column 2 and consumes only one cell", 
  SWT.WRAP);
 label.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB));
 label = toolkit.createLabel(form.getBody(), 
  "This text goes into column 3 and consumes only one cell too", 
  SWT.WRAP);
 label.setLayoutData(new TableWrapData(TableWrapData.FILL));
 form.getBody().setBackground(form.getBody().getDisplay().
    getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));

这个创建了一些有不同长度文本的label.有些labels占据多列,有些占据多行.为了让测试更加简单, 我们把form的背景设置为组件背景,这样单元能够更简单看出来.当我们运行例子,我们会得到下面的样子:

图片9:TableWrapLayout留下的多余空间

关键之处在于组件最小宽度和最大宽度相比较时.相差越多,结果越明显,会看到列中有很大的缝隙.占据的宽度是组件所需要的最小的宽度.注意第3列比第2列稍微宽一点点,这是因为第3列中的文字长度比第2列中文字要长点.如果需要阅读布局的相关理论,可以去这里W3C recommendations for HTML table auto-layout.

ColumnLayout
Eclipse Forms另外一个定制的layout是SWT RowLayout的变种.如果我们把RowLayout上的children垂直放置时--按列-并且使同列中的所有组件拥有相同的宽度,我们会由组件的宽度得到多个列.但是,最后一列显然不是被填满的--这由组件的个数决定.如果在form中,我们会仍然看到所有组件在一列中,因为RowLayout不能够"垂直" 包裹.如果我们用GridLayout相替代的话,列的数量由我们自己决定.

在更加复杂的forms中我们需要列的数量按情况变化.换句话来说,我们希望数字按照form的宽度来改变--有可能需要更多的列,当宽度减小时则把数字减小.而且我们希望所有列的长度象报纸布局一样相同.这些要求都能够通过ColumnLayout来达到.

与TableWrapLayout相比,ColumnLayout更加简单.不需要复杂的设置.唯一需要你设置的就是列数的范围,默认是1到3.下面的例子演示了一个使用ColumnLayout的有许多段落(sections)的form.初始时,只需要两列就可以放置所有段落了.如果我们把编辑器变窄一点,layout会使它们在同一列中.

 
图片10:使用ColumnLayout的所有按列排列的段落 .layout开始是两列,但是按照空间的改变变成了一列.
RCP Eclipse表单 Eclipse表单 Hyperlink Section ScrolledForm FormToolkit ExpandableComposite 等使用,带有说明文档,并有效果图和源代码 立即下载

相关推荐

SPSS_Process—简单&平行&链式中介模型

本篇文章介绍采用SPSS的插件Process对简单中介、链式中介、平行中介模型进行检验的操作方法及结果解读。

m0_54401011的博客 4万+

eclipse java ui,Eclipse Forms筹划漂亮UI之高级组件[Java编程]

赞助商链接本文“Eclipse Forms筹划漂亮UI之高级组件[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:Eclipse Forms供应了4个高级组件,这样你可以构建漂亮的UI:expandable composite,section,image hyperlink和form text.让我...

weixin_34952710的博客 252

基于DBSCAN聚类算法的超像素实时分割

Real-Time Superpixel Segmentation by DBSCAN Clustering Algorithm 摘要 在本文中,我们提出了一种基于密度的带噪声应用空间聚类(DBSCAN)算法的50帧/秒实时图像超像素分割方法。为了降低超像素算法的计算量,我们采用了一种快速的两步框架。在第一个聚类阶段,使用具有颜色相似性和几何约束的DBSCAN算法对像素进行快速聚类,然后在第二个合并阶段,通过颜色和空间特征定义的距离度量,将小簇按其邻域合并为超像素。为了在这两个步骤中获得更好的超像素,定义了

yttt的博客 3492

使用 Eclipse Forms 让应用程序获得新生

不使用嵌入式浏览器就可获得 Web 风格的外观 级别: 中级 Chris A

elimago的专栏 1175

最新版MySQL 9.0 数据库的下载与安装(图文)

本篇文章基于Windows 10 系统下载与安装MySQL 9.0 版本。

我是聂可的博客 7万+

华为OD机试双机位C卷:日志排序 (Py/C/C++/Java/Js/Go)

华为OD机试双机C卷真题【日志排序】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试-日志排序。

qq_45776114的博客 1754

Eclipse Forms: 为胖客户端做的漂亮UI(翻译,第一部分)

这篇文章是我为eclipse中国社区翻译的,今天才翻译了前面一点点.版权归原作者,原文作者应该不会生气吧:P原文见:http://www.eclipse.org/articles/Article-Forms/article.htmlSummary这篇文章将告诉你如何在你的胖客户端程序中加入Eclipse Forms.Eclipse Forms可以在你的程序里不通过嵌入浏览器而达到Web效果.这

Unplugged 1万+

SKUA-GOCAD入门教程-第六节

DisplayElements窗口是用于浏览和处理项目数据的工具,包含多个数据浏览器,如模型列表、对象、未分类对象、属性数据及资源数据。

江洋大葱的博客 983

eclipse html 布局,Eclipse Forms的两个新布局TableWrapLayout和ColumnLayout

1. TableWrapLayout和SWT的GridLayout是一样的,它也有layout data,叫做TableWrapData。都是以列进行划分,Control一个一个放进去。主要作用就是:使得文本控件Label,Text,Hyperlink等可以根据宽度,wrap显示文本,不够宽度就显示多行。注意,文本控件样式要有SWT.WRAP,TableWrapLayout才会起效果。如果文本控件...

weixin_42097450的博客 416

MOSFET雪崩特性参数解析

但是,一些电源在输出短路时,初级中会产生较大的电流,加上初级电感,器件就会有雪崩损坏的可能,因此在这样的应用条件下,就要考虑器件的雪崩能量。对于那些在MOSFET的D和S极产生较大电压的尖峰应用,就要考虑器件的雪崩能量,电压的尖峰所集中的能量主要由电感和电流所决定,因此对于反激的应用,MOSFET关断时会产生较大的电压尖峰。雪崩击穿能量标定了器件可以容忍的瞬时过冲电压的安全值,其依赖于雪崩击穿需要消散的能量。EAS单脉冲雪崩击穿能量, EAS标定了器件可以安全吸收反向雪崩击穿能量的高低。

Airer_00的博客 806

有限元ABAQUS软件安装后管理员身份运行报错:Cannot connect to license server system...如何解决?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 2067

eclipse java ui_Eclipse Forms设计漂亮UI之简介

本文将告诉你如何在你的富客户程序中加入Eclipse Forms。Eclipse Forms可以在你的程序里不通过嵌入浏览器而达到web效果.这样可以不仅对组件保持完全控制而且不失eclipse所有的可移植性,这篇文章将从Eclipse Forms的基本特性到高级特性一步一步指导你。历史一个Eclipse平台的基本特性是:所有基于Eclipse平台开发的程序界面能够象本地程序一样.因为SWT,菜单...

weixin_42507411的博客 1791

从数据到行动:客服运营必分析的8大核心维度

服务运营正从被动响应升级为数据驱动型战略体系。客服中心的海量交互数据能精准反映服务效能、客户体验及运营短板,关键在于实现数据的可视化与可操作化。本文系统剖析了八类核心数据指标:1)客户行为数据(CSAT/NPS/投诉内容);2)通话效率指标(AHT/接通率);3)服务质量(质检体系/情绪识别);4)坐席绩效(FCR/客户评价);5)流程与知识库(转接率/工单时效);6)渠道流量分析;7)异常预警机制;8)成本收益模型。通过构建多维数据分析体系,企业可在客户全生命周期管理中实现服务升级、风险防控与资源

2202_75469062的博客 1400

Eclipse Forms: 为胖客户端做的漂亮UI(翻译,第三部分)

高级组件(Complex controls)Eclipse Forms提供了4个高级组件,这样你能够构建漂亮的UI:expandable composite,section,image hyperlink和form text.让我们依次仔细看看它们每一个.Expandable composite在网页中有个普遍的功能就是让你有能力把一部分网页内容用一个按钮来伸缩它.Eclipse Forms提

Unplugged 4826

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

C#入门为什么如此简单?从零到GUI程序的5分钟实践路径

面向对象编程(OOP)是软件开发的基础范式,其核心在于封装、继承与多态;而Windows窗体(WinForms)作为经典的GUI开发框架,长期承担着桌面应用快速原型验证的关键角色。C#语言通过统一类型系统、事件驱动模型和Visual Studio集成设计器,将OOP概念转化为可触摸的工程实践:无需理解底层消息循环,即可拖拽控件并响应点击;不必手动管理内存,即可专注业务逻辑表达。这种‘所见即所得’的开发体验,显著降低了GUI编程门槛,使初学者能在5分钟内完成从Hello World到交互式窗体的跨越。本文基于

diaoqi6581的博客 357

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

代码 阅读器:SI (Source Insight)、vscode(Visual Studio Code)、code-server、Visual Studio、OpenGrok

代码 阅读器:IDE、SI (Source Insight)、OpenGrok

freeking101的博客 7545

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

工作中使用到的单词(软件开发)

1.エイリアス   alias 别名 powershell使用 get-help 命令时,会得到与此命令 相关(别名)的命令 2.プロキシ proxy 代 理 3.プロモート   promote 促进,提升   开发的系统新功能上线发布,有时会使用到这个词,比如 STプロモート 还有使用リリース这个词的。比如STリリース。个人认为两者含义相同。 4.見逃し み................................................................

sun0322 6万+

编译器 | 从工业实现到极简设计 —— 编译器的多元形态与实践

……

u013669912的博客 887

Eclipse Form程序设计指南(4)

5、FromText控件(1)概述l         虽然使用Label、超链接(或图像链接)以及TableWrapLayout布局就能创建丰富的Form内容,但是要接近Web外观还是很有限的l         Eclipse From提供了FromText控件来创建Rich文本,作为上述的补充,有三种形式:n         按纯文本呈现n         将文本中URL转换为超链接呈现n   

2930

RCP应用篇之Eclipse表单

SWT 程序中使用表单     上文提到过,表单不仅可以使用在 Eclipse 插件开发和 RCP 开发中,也可以应用在任何 SWT/JFace 的 UI 界面程序中。演示代码如下: package com.testrcp.myrcp.forms; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.layo

能量守恒洛的专栏 3222

[转载]Eclipse Form设计指南之定制布局

Eclipse Form设计指南之定制布局Eclipse Form提供了2个新的布局  (1)TableWrapLayout  ·问题:如果将上例中超链接的文本设置的足够长 link.setText("This i...

congji3817的博客 278

在Eclipse Forms中使用swt控件

在Eclipse Forms中使用swt控件,并使控件的风格为”flat” //实例化一个SWT控件List list = new List(form.getBody(),SWT.NONE);list.add("File");list.add("Edit");list.add("Source"); //设置布局位置... //设置控件风格,使之与通过Fo

kdevn的专栏 1732

Eclipse Forms开发笔记

·eclipse forms所需要的包要通过mainfest文件来加载,而不是传统的class path来加载 ·在emf中,如果出现model, edit, editor工程之间引用不到的错误,一般是mainfest文件runtime设置的问题 ·form中的内容显示不出来,有可能是plugin.xml文件中的view设置有问题,比如对应的class设置不正确 ·使用FormToolkit创建的...

疯狂的菠菜 420
上一篇: 决定不考研!
下一篇: Eclipse Forms: 为胖客户端做的漂亮UI(翻译,第三部分)
W1nt3rs
W1nt3rs 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄22年 977粉丝 301原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值