技术开发 频道

Eclipse Forms设计漂亮UI之高级组件

图片超链接(Image hyperlink)

  图片超链接是超链接的子类,它在链接文字上面添加了一个图片.这个平常的结合非常有意义.这个组件可以只是一个图片(当没有设置任何文字时),或是图片加链接.图片在正常,hover,激活时的状态都能设置.

  下面是一个用图片超链接的例子:



图片14:Eclipse欢迎页面中的form

  Form text组件

  使标签(labels),超链接,图片和TableWrapLayout相结合,能够创建出复杂和强大的forms.但是仍然有一些事是很难做的.考虑PDE manifest编辑器的例子:
 



图片15:一个混合了文本,图片和超链接的复杂Eclipse form例子

  注意图片,超链接和文本是如何混合的.这里使用单独的标签和超链接组件是很困难的.为了解决这个问题,Eclipse Forms插件提供了一个强大的文本组件,它有以下功能:

  识别普通包裹的文本

  识别普通文本,但是如果以http://开头的文本以超链接显示

  识别象HTML语言一样的文本

  在所有模式下,form text组件能识别一个字符串或输入流(input stream).

  识别普通文本(标签模式)

FormText formText = toolkit.createFormText(form.getBody(), true); td = new TableWrapData(TableWrapData.FILL); td.colspan = 2; formText.setLayoutData(td); String text = "Here is some plain text for the text to render."; formText.setText(text, false, false);



第二个参数设为false,意思是我们不需要解析html标记,第三个参数设为false,意思是我们不需扩展URLs.

  自动将URLs转化为超链接

  现在我们会在文本中添加一个超链接,并把第3个参数设为true:

FormText formText = toolkit.createFormText(form.getBody(), true); td = new TableWrapData(TableWrapData.FILL); td.colspan = 2; formText .setLayoutData(td); String text = "Here is some plain text for the text to render; "+ this text is at http://www.eclipse.org web site."; formText .setText(text, false, true);



  如果看我们的视图,会是这样:
 

图16:Form text组件将URL自动转化为超链接

  URL被转化为了链接.这个链接是包裹的文本中的一部分-我们不需要创建单独的超链接组件然后试着把它夹在两个标签中间.

  因为form text组件能够识别超链接,因此它接收我们前面用过的监听器.当由toolkit创建时,form text会将toolkit的超链接组设置作为新超链接的设置.

0
相关文章