2009-01-22 15 views
1

HI,Lobo Cobra HtmlPanel在JavaScript動作後不更新GUI

我開始在Swing中實現HTML瀏覽器。我想使用Lobo Cobra工具包,因爲此工具包包含一個用於CSS和JavaScript的呈示器和解析器。這些頁面看起來非常漂亮,而且很容易使用(一個類實現顯示一個html頁面)。

我想在swing中顯示HTML頁面,它可以顯示javascript生成和修改的對象,如閃爍的圓圈。 據我所知,眼鏡蛇工具包可以顯示靜態JavaScript命令,如'document.write'或closwWindow()實現,但不能從JavaScript更新GUI。

以前有人與Lobo Cobra Toolkit合作過,並給出了一些示例代碼或提示,其中展示了帶有動畫JavaScript對象的HTML頁面。

回答

1

我的印象是,只要你自己設置通知,你的代碼就會被調用,所有的改變,無論是頁面加載還是頁面加載後動態執行。

我最初將設置一個實現DocumentNotificationListener接口的對象(X),併爲每個調用的方法記錄消息。然後用Y.addDocumentNotificationListener(X)[其中Y是您的HTMLDocumentImpl對象]將其設置爲偵聽器,然後加載您的頁面以查看實際調用的方法。

最糟糕的情況是,您必須在每次方法調用時重新呈現您的HTML頁面,但您應該能夠優化大部分方法。例如,更改節點(DOM對象)的顏色(導致X.lookInvalidated(...)被調用)不需要重新呈現整個頁面,因爲節點大小不會更改。