如何在 Swing jframe 中嵌入 SWT 浏览器
Posted
技术标签:
【中文标题】如何在 Swing jframe 中嵌入 SWT 浏览器【英文标题】:how to embed SWT browser in swing jframe 【发布时间】:2014-09-07 02:00:04 【问题描述】:我想将我的 SWT 浏览器嵌入到 swing jframe 中。 我尝试sample,但它需要调整窗口大小以加载浏览器窗口。 在不调整大小的情况下如何重新绘制画布?
【问题讨论】:
为什么要这样做?有什么要求?为什么不使用任何 Swing 替代品? 我想在我的 java 桌面应用程序中加载我的 html 页面并在其上执行我的 javascript 代码。我找到了一个浏览器类,它很好,但它在调用它的 jframe 后面,而且在浏览器窗口打开时我不能在其他打开的 jframe 中做任何事情 那么为什么不使用任何 Swing 替代品呢? 您推荐哪些替代品? ***.com/questions/145863/… 【参考方案1】:这是一个关于 GIT 的工作示例,展示了如何将 SWT 嵌入到传统的 Swing JPanel 中: https://gist.github.com/caprica/6890618(文字版:here)
诀窍是创建一个链接到 SWT shell 的java.awt.Canvas
。这个画布可以添加到任何传统的 Swing 组件中。 SWT shell 循环由单独的线程管理。
这是我使用 Java 7 的 Windows 7 机器上的屏幕截图:
【讨论】:
djbrowser 我认为这是一个更好的解决方案,它包装了 swt 的东西,代码变得可读和可管理。您不必处理 SWT shell 等。 @benchpresser 你能在回复中发布一些示例代码吗? 该示例确实适用于带有 Java6 的 Windows 7,但与提到的 OP 相同的问题发生了。您必须在任何内容可见之前调整框架的大小以上是关于如何在 Swing jframe 中嵌入 SWT 浏览器的主要内容,如果未能解决你的问题,请参考以下文章
java在线聊天项目 使用SWT快速制作登录窗口,可视化窗口Design 更换窗口默认皮肤(切换Swing自带的几种皮肤如矩形带圆角)