2012-03-30 12 views
0

Ich versuche, einen Java-Code zu finden, der die Anzeige einer Menge von HTML-Objekten darstellen würde (d. H. Dieser Code würde in die Paint-Funktion gehen). Dies ist in eine selbstgebaute IDE für HTML und Javascript zu gehen (Ich kann aus komplizierten Gründen keine fertige Version verwenden)Java-Darstellung des HTML-Objekts

Ich kann keine Bilder verwenden, um die HTML Objekte darzustellen, wie die Eigenschaften (border Farbe, usw.) müssen alle veränderbar sein.

Kurz gesagt, ich benötige den Code, der in der Paint-Methode einer HTML-Komponente verwendet werden könnte.

Hat jemand eine Idee, wo ich das bekommen könnte? Oder eine Idee, wie es geht. Ich habe gerade versucht, den Code zu schreiben, um ein Select-Tag zu repräsentieren, und es ist sehr schwierig.

EDIT: Es stellt sich (wie unten angegeben) heraus, dass das, was ich suche, ein HTML-Renderer ist. Der Code, den ich habe, ist Javascript, das von einem Browser als HTML interpretiert wird. Der folgende Code ist der von der IDE generierte, ich habe eine Möglichkeit, auf die Eigenschaften zuzugreifen, die benötigt werden (borderColor, etc). Ich benötige eine Möglichkeit, diese auf eine JPanel zu rendern. dh Wie kann ich ein rotes Feld auf die JPanel ziehen, dass der DIV unten darstellt (einfaches Beispiel, ich dies tun kann, aber das gleiche gilt für eine große Teilmenge benötigt (vorzugsweise alle) CSS-Eigenschaften):

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 
} 

Antwort

1

Sie können versuchen Sie die Java DOM. Zum Beispiel gibt es eine Element Schnittstelle. Es gibt mehrere konkrete Implementierungen, einschließlich IIOMetadataNode

+0

Danke, aber diese haben keine Farbcodemethode, was ich benötige, ist eine Möglichkeit, ein Element graphisch darzustellen, d. H. Ein Eingabeelement oder ein Auswahlelement. –

+0

@ZackNewsham, suchen Sie einen Java [HTML-Renderer] (http://en.wikipedia.org/wiki/Layout_engine), oder was? Das ist anders als nur das Tag darzustellen. –

+0

Ja, ich denke, das war vielleicht eine bessere Art, es zu beschreiben, obwohl jetzt eine zusätzliche "Falte" ist, dass der Code, der generiert wird, tatsächlich Javascript ist, die Browser in HTML konvertieren ... Ich habe die Frage bearbeitet –

0

Ich suchte auf Google nach "Java HTML Renderer" und fand diese: http://lobobrowser.org/cobra.jsp. Vielleicht würde das helfen? Es (von der Website) unterstützt HTML4, Javascript und CSS2.

+0

Dies sieht mag es gut sein, danke! Ich durchsuche gerade ihren Code, um herauszufinden, wo das eigentliche Gemälde stattfindet. –

Verwandte Themen