Le paquetage com.sun.java.browser.dom propose des interfaces et des classes pour l'exécution d'opérations DOM au sein de threads
Interface |
Description |
DOMAccessor |
Les objets implémentant cette interface doivent retourner un noeud DOM Document (Document getDocument(Object obj)) et une implémentation DOM DOMImplementation (DOMImplementation getDOMImplementation()). |
DOMAction |
comporte une méthode Object run(DOMAccessor accessor) qui est destinée à être appelée par un thread DOM. Un objet implémentant cette interface doit être passée à l'une des méthodes invokeAndWait() ou invokeLater() de la classe DOMService. |
Classe |
Description |
DOMService |
fournit des méthodes capables d'exécuter de façon synchrone ou asynchrone des objets DOMAction. |
DOMServiceProvider |
représente un fournisseur de services qui sera utilisé par les méthodes appropriées d'un objet DOMService. |
Exception |
Description |
DOMAccessException |
est lancée lorsqu'une erreur se produit dans un thread DOM initiée par les méthodes invokeAndWait() et invokeLater() de la classe DOMService. |
DOMUnsupportedException |
est lancée si un objet non-supportée est utilisé avec les méthode DOMServiceProvider.getDocument() et DOMService.getService(). |
import netscape.javascript.*;
import java.applet.*;
import java.awt.*;
public class UnApplet extends Applet {
public void init() {
JSObject win = JSObject.getWindow(this);
JSObject doc = (JSObject) win.getMember("document");
JSObject loc = (JSObject) doc.getMember("location");
String s = (String) loc.getMember("href");
win.call("uneFonction", new String[]{"Un message personnel..."});
}
public String getTitle(){
DOMService service = null;
String title = null;
try{
service = DOMService.getService(this);
title = (String) service.invokeAndWait(new DOMAction(){
public Object run(DOMAccessor accessor){
HTMLDocument doc = (HTMLDocument) accessor.getDocument(this);
return doc.getTitle();
}
});
}
catch (DOMUnsupportedException e){
e.printStackTrace();
}
catch (DOMAccessException e){
e.printStackTrace();
}
return title;
}
}
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- Date de création: 25/08/2005 -->
<head>
<title>Une page Web</title>
<script language="Javascript" type="text/javascript">
unFonction(msg){
alert(msg);
}
</script>
</head>
<body>
<object
classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
width="200" height="200" align="baseline">
<param name="code" value="UnApplet.class">
<param name="codebase" value="html/">
<param name="type"
value="application/x-java-applet;jpi-version=1.5.0">
<param name="MAYSCRIPT" value="true">
Les applets ne sont pas supportés !
</object>
</body>
</html>
Sommaire