2012-03-30 61 views
0

我試圖找到一些代表一組HTML對象的顯示的java代碼(即,這段代碼將在paint函數中執行)。這是爲了進入一個家庭建成的IDE FR HTML和JavaScript(我不能使用現成的版本,由於複雜的原因)HTML對象的Java表示

我不能使用圖像來表示HTML對象,因爲屬性(邊框顏色等)都需要改變。

簡而言之,我需要可以在HTML組件的paint方法中使用的代碼。

有沒有人有任何想法,我可以得到這個?或者如何去做的想法。我只是試圖手寫代碼來表示一個選擇標籤,而且非常困難。原來(如下所述)我正在尋找的是一個HTML渲染器。但是,我擁有的代碼是JavaScript,它被瀏覽器解釋爲HTML。以下代碼是由IDE生成的,我有一種訪問所需屬性(borderColor等)的方法,我需要的是將這些屬性呈現到JPanel上的方法。即怎樣繪製一個紅色方框到的JPanel表示下面的DIV(簡單的例子,我能做到這一點,但是需要同樣的一個大的子集(最好是全部)CSS屬性):

function componentName(constructor, properties){ 
this.style = {} 
this.style.left = 0; //@property TYPE_TEXT left 
this.style.top = 0; //@property TYPE_TEXT top 
this.style.width = 100; //@property TYPE_TEXT width 
this.style.height = 50; //@property TYPE_TEXT height 
this.body0 = document.body 
this.body0.onmousedown = this.this.body0_onmousedown 
this.body0.style.borderStyle = "" 
this.body0.style.borderWidth = "0px" 
this.body0.style.overflow = "auto" 
this.body0.style.top = "0px" 
this.body0.style.left = "0px" 
this.body0.style.position = "fixed" 
this.body0.name = "" 
this.body0.style.backgroundColor = "#ffffff" 
this.body0.onmousedown = this.body0_onmousedown 
this.body0.style.width = "296px" 
this.body0.style.height = "193px" 
this.DIV0 = document.createElement("DIV") 
this.DIV0.style.height = "216px" 
this.DIV0.style.width = "181px" 
this.DIV0.onmousedown = this.DIV0_onmousedown 
this.DIV0.style.top = "40px" 
this.DIV0.style.backgroundColor = "#ff0000" 
...etc 
} 

回答

1

你可以嘗試Java DOM。例如,有一個Element接口。有多種具體的實現,包括IIOMetadataNode

+0

謝謝,但這些沒有任何繪製代碼的方法,我需要的是一種圖形表示一個元素,即一個輸入元素,或選擇元素的方式。 – 2012-03-30 00:54:47

+0

@ZackNewsham,你在找一個Java [HTML渲染器](http://en.wikipedia.org/wiki/Layout_engine),或者是什麼?這與代表標籤不同。 – 2012-03-30 01:10:36

+0

是的,我認爲這可能是一種更好的描述方式,但現在額外的「皺紋」是生成的代碼實際上是JavaScript,哪些瀏覽器轉換爲HTML ...我編輯了問題 – 2012-03-30 01:36:28

0

我在谷歌搜索「Java HTML Renderer」,發現這個:http://lobobrowser.org/cobra.jsp。也許這會有所幫助?它(來自網站)支持HTML4,Javascript和CSS2。

+0

這個長相喜歡它可能是好的,謝謝!我目前正在通過他們的代碼來尋找真正的繪畫的地方。 – 2012-03-30 01:37:15