Skip to main content



      Home
Home » Eclipse Projects » Standard Widget Toolkit (SWT) » SWT HTML browser component
SWT HTML browser component [message #449137] Tue, 18 January 2005 13:52 Go to next message
Eclipse UserFriend
Originally posted by: sylcheung.gmail.com

In SWT, there is a HTML browser component. Can someone please tell me
if I can walk thru the dom in my Java application which uses that HTML
browser component?

Thank you.

Sam
Re: SWT HTML browser component [message #449141 is a reply to message #449137] Tue, 18 January 2005 13:55 Go to previous messageGo to next message
Eclipse UserFriend
Samuel Cheung wrote:
> In SWT, there is a HTML browser component. Can someone please tell me
> if I can walk thru the dom in my Java application which uses that HTML
> browser component?

Look at
http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/plat form-swt-home/dev.html#snippets

The "browser" snipplets might be usefull for you.

Henning.
Re: SWT HTML browser component [message #449155 is a reply to message #449141] Tue, 18 January 2005 17:02 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: sylcheung.gmail.com

Thanks.
But I am looking for a way to walk thru the dom in my JavaApplication
not just using JavaScript.

Let's say I want my JavaApplication to display all the Forms name in the
html page I load using SWT html browser. How can I achieve that?

Thank you.


Henning Rogge wrote:
> Samuel Cheung wrote:
>
>> In SWT, there is a HTML browser component. Can someone please tell me
>> if I can walk thru the dom in my Java application which uses that HTML
>> browser component?
>
>
> Look at
> http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/plat form-swt-home/dev.html#snippets
>
>
> The "browser" snipplets might be usefull for you.
>
> Henning.
Re: SWT HTML browser component [message #449177 is a reply to message #449155] Tue, 18 January 2005 18:55 Go to previous messageGo to next message
Eclipse UserFriend
You could use JDOM. For more information go to http://www.jdon.org

-H

Samuel Cheung wrote:
> Thanks.
> But I am looking for a way to walk thru the dom in my JavaApplication
> not just using JavaScript.
>
> Let's say I want my JavaApplication to display all the Forms name in the
> html page I load using SWT html browser. How can I achieve that?
>
> Thank you.
>
>
> Henning Rogge wrote:
>
>> Samuel Cheung wrote:
>>
>>> In SWT, there is a HTML browser component. Can someone please tell
>>> me if I can walk thru the dom in my Java application which uses that
>>> HTML browser component?
>>
>>
>>
>> Look at
>> http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/plat form-swt-home/dev.html#snippets
>>
>>
>> The "browser" snipplets might be usefull for you.
>>
>> Henning.
Re: SWT HTML browser component [message #449179 is a reply to message #449177] Tue, 18 January 2005 19:05 Go to previous messageGo to next message
Eclipse UserFriend
http://www.jdom.org sorry for the typo.

Hugo A. Garcia wrote:
> You could use JDOM. For more information go to http://www.jdon.org
>
> -H
>
> Samuel Cheung wrote:
>
>> Thanks.
>> But I am looking for a way to walk thru the dom in my JavaApplication
>> not just using JavaScript.
>>
>> Let's say I want my JavaApplication to display all the Forms name in
>> the html page I load using SWT html browser. How can I achieve that?
>>
>> Thank you.
>>
>>
>> Henning Rogge wrote:
>>
>>> Samuel Cheung wrote:
>>>
>>>> In SWT, there is a HTML browser component. Can someone please tell
>>>> me if I can walk thru the dom in my Java application which uses that
>>>> HTML browser component?
>>>
>>>
>>>
>>>
>>> Look at
>>> http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/plat form-swt-home/dev.html#snippets
>>>
>>>
>>> The "browser" snipplets might be usefull for you.
>>>
>>> Henning.
Re: SWT HTML browser component [message #449194 is a reply to message #449155] Tue, 18 January 2005 22:42 Go to previous messageGo to next message
Eclipse UserFriend
Samuel Cheung wrote:
> Thanks.
> But I am looking for a way to walk thru the dom in my JavaApplication
> not just using JavaScript.

http://jrex.mozdev.org/ can do that but it's not an SWT widget
and it seemed unstable last time I tried it.

> Let's say I want my JavaApplication to display all the Forms name in the
> html page I load using SWT html browser. How can I achieve that?

You could wrap a minimal JavaScript implementation into your own
Java set/query API. Finding forms and collecting their names could
still be quite efficient while exporting the whole DOM tree this
way might be a bit slow.

> Thank you.
>
> Henning Rogge wrote:
>
>> Samuel Cheung wrote:
>>
>>> In SWT, there is a HTML browser component. Can someone please tell
>>> me if I can walk thru the dom in my Java application which uses that
>>> HTML browser component?
>>
>> Look at
>> http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/plat form-swt-home/dev.html#snippets
>>
>>
>> The "browser" snipplets might be usefull for you.
>>
>> Henning.
Re: SWT HTML browser component [message #449195 is a reply to message #449177] Tue, 18 January 2005 22:49 Go to previous messageGo to next message
Eclipse UserFriend
Hugo A. Garcia wrote:
> You could use JDOM. For more information go to http://www.jdon.org
>
> -H

That's an XML parsing API which wouldn't even be usable as a
preprocessor for most HTML pages in case you were trying to
suggest to parse the page before feeding it to the browser.

Accessing the DOM tree of the browser is, for example,
possible through
http://www.alphaworks.ibm.com/aw.nsf/html/weblets or
http://jrex.mozdev.org/
Re: SWT HTML browser component [message #449196 is a reply to message #449195] Wed, 19 January 2005 00:06 Go to previous messageGo to next message
Eclipse UserFriend
Bernhard Fastenrath wrote:
> Hugo A. Garcia wrote:
>
>> You could use JDOM. For more information go to http://www.jdon.org
>>
>> -H
>
> That's an XML parsing API which wouldn't even be usable as a
> preprocessor for most HTML pages in case you were trying to
> suggest to parse the page before feeding it to the browser.
>
> Accessing the DOM tree of the browser is, for example,
> possible through
> http://www.alphaworks.ibm.com/aw.nsf/html/weblets or
> http://jrex.mozdev.org/

Weblets seem to be obsolete.
Re: SWT HTML browser component [message #449199 is a reply to message #449195] Wed, 19 January 2005 05:45 Go to previous messageGo to next message
Eclipse UserFriend
yes it is an XML, XHTML procesor that gives you a better document model
than DOM or if you really have to use DOM then you can easily manipute
it using JDOM. In addition, only really misbehaved HTML like that
produced by Word is a problem. You can easily apply JTidy or NekoHTML or
TagSoup to clean up the HTML before creating a DOM.

Actually... this is what I have to do in my app. Haven't implement using
the Browser widget but I still have to go through the above step
before display the documents I deal with since I have to manipulate the
document before dsiplaying. Still building the rest of the GUI so when I
get to integrating the Browser widget I can let you know.

-H

Bernhard Fastenrath wrote:
> Hugo A. Garcia wrote:
>
>> You could use JDOM. For more information go to http://www.jdon.org
>>
>> -H
>
>
> That's an XML parsing API which wouldn't even be usable as a
> preprocessor for most HTML pages in case you were trying to
> suggest to parse the page before feeding it to the browser.
>
> Accessing the DOM tree of the browser is, for example,
> possible through
> http://www.alphaworks.ibm.com/aw.nsf/html/weblets or
> http://jrex.mozdev.org/
Re: SWT HTML browser component [message #449214 is a reply to message #449155] Wed, 19 January 2005 10:38 Go to previous message
Eclipse UserFriend
For an example on how to get Form names through a javascript query see
below - it is adapted from snippet 160 (query DOM node value).
Chris

import org.eclipse.swt.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.browser.*;

public class PRBrowser {
public static void main(String [] args) {
final String html = "<html><body><form name='my form 1'><input
type='button' value='push me'></form><form name='my form 2'><input
type='button' value='push me 2'></form><h1 id='myid'>HTML
Document</h1></body></html>";
Display display = new Display();
final Shell shell = new Shell(display);
shell.setLayout(new FillLayout());
final Browser browser = new Browser(shell, SWT.NONE);
browser.addStatusTextListener(new StatusTextListener() {
public void changed(StatusTextEvent event) {
browser.setData("query", event.text);
}
});
browser.addProgressListener(new ProgressListener() {
public void changed(ProgressEvent event) {
}
public void completed(ProgressEvent event) {
/*
* Use JavaScript to query the list of Form name attributes in the
document that was loaded.
*
* Assign result to the window property status to pass the result to the
StatusTextListener
* This trick is required since <code>execute</code> does not return the
<code>String</code>
* directly.
*/
boolean result =
browser.execute("window.status=document.forms.length;");
if (!result) {
/* Script may fail or may not be supported on certain platforms. */
System.out.println("Script was not executed.");
return;
}
String value = (String)browser.getData("query");
int length = Integer.parseInt(value);
String[] forms = new String[length];
for (int i = 0; i < forms.length; i++) {
browser.execute("window.status=document.forms["+i+"].name; ");
forms[i] = (String)browser.getData("query");
System.out.println("Form name: <"+forms[i]+">");
}
/* results in forms array */
}
});
/* Load an HTML document */
browser.setText(html);
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
Previous Topic:Traversing out of a Text widget.
Next Topic:How do you use FormLayout on a Composite with a Vertical Scrollbar?
Goto Forum:
  


Current Time: Tue Jul 08 18:30:04 EDT 2025

Powered by FUDForum. Page generated in 0.08919 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top