首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

本章介绍如何在SWT中使用SWING组件,以及实现拖拽功能,访问ActiveX控件,还将预瞻性的介绍尚未正式发布的JFace数据绑定框架。本章内容属于较高级或较生僻的应用,跳过本章不会影响后面内容的学习。

18.1 嵌入AWT/SWING组件

SWT支持在组件中嵌入AWT/SWING组件,不过运行效率低下。选择这种方式往往是不得已而为之,比如要在SWT软件框架中使用一个现成的AWT/SWING报表控件,或者一个公司遗留下来的AWT/SWING软件。

SWT提供了一个从SWT到AWT的桥接,它通过SWT_AWT.new_Frame()方法可以得到一个嵌入在SWT面板上的java.awt.Frame组件。而Frame是AWT/SWING的容器组件,这样我们就可以在Frame容器中创建任何AWT/SWING组件,实例上也就打通了从SWT通向AWT/SWING世界的道路。具体的代码示例如下所示:

//--------------文件名:AwtInSwt.java----------------------

shell.setLayout(new RowLayout());

Composite comp = new Composite(shell, SWT.EMBEDDED);// 必须用SWT.EMBEDDED式样

java.awt.Frame frame = SWT_AWT.new_Frame(comp);

java.awt.Button button = new java.awt.Button();

button.setLabel("AWT按钮");

frame.add(button);

       注意:本书“第3.5.4节 类型过滤”讲了如何过滤掉java.awt.*,javax.swing.*类型的代码提示,如果你按照书中做了设置,请再将它复原。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论