Lobo Cobra HtmlPanel 在 JavaScript 操作后不更新 GUI

问题描述 投票:0回答:1

我开始在 Swing 中实现 HTML 浏览器。我想使用 Lobo Cobra 工具包,因为该工具包包含 CSS 和 JavaScript 的渲染器和解析器。这些页面看起来非常漂亮并且易于使用(一个类实现来显示 html 页面)。

我想在 swing 中显示 HTML 页面,它可以显示 javascript 生成和修改的对象,例如闪烁的圆圈。 据我所知,cobra 工具包可以显示静态 JavaScript 命令,例如“document.write”或 closwWindow() 实现,但不能从 JavaScript 更新 GUI。

有人之前使用过 Lobo Cobra Toolkit,并且可以给我一些示例代码或提示来显示内部包含动画 JavaScript 对象的 HTML 页面吗?

javascript java browser lobo lobo-cobra
1个回答
1
投票

我的印象是,只要您设置了通知,您的代码就会被调用来对 DOM 进行所有更改,无论是在页面加载时完成还是在页面加载后通过 Javascript 动态完成。

我最初会设置一个实现 DocumentNotificationListener 接口的对象 (X),并为每个调用的方法记录一条消息。然后使用 Y.addDocumentNotificationListener(X) [其中 Y 是 HTMLDocumentImpl 对象] 将其设置为侦听器,并加载页面以查看实际调用了哪些方法。

最坏的情况是,您必须在每次方法调用时重新渲染 HTML 页面,但您应该能够优化其中的大多数方法。例如,更改节点(DOM 对象)的颜色(这会导致调用 X.lookInvalidated(...))不需要重新渲染整个页面,因为节点大小不会改变。

© www.soinside.com 2019 - 2024. All rights reserved.