Je suis en train de voir un .doc/.docx fichiers Microsoft Word dans une page Web sur Firefox. Quand tout a échoué j'ai essayé de créer une applet qui contiendra une instance de Word OLE pour voir le document.Voir le document de bureau de mot applet java dans firefox
J'ai créé l'applet en utilisant: org.eclipse.swt.ole.win32.OleClientSite, et avec eclipse cela fonctionne très bien et je peux voir Word à l'intérieur.
J'ai créé un fichier .jar et j'ai essayé d'utiliser l'applet dans la page Web dans Firefox. L'applet commence mais je ne vois rien à l'intérieur.
Voici mon code applet:
import java.applet.Applet;
public class JWordViewer extends Applet {
org.eclipse.swt.widgets.Display display;
org.eclipse.swt.widgets.Shell swtParent;
java.awt.Canvas awtParent;
public void init() {
Thread thread = new Thread(new Runnable() {
public void run() {
setLayout(new java.awt.GridLayout(1, 1));
awtParent = new java.awt.Canvas();
add(awtParent);
display = new org.eclipse.swt.widgets.Display();
swtParent = org.eclipse.swt.awt.SWT_AWT.new_Shell(display,
awtParent);
swtParent.setLayout(new org.eclipse.swt.layout.FillLayout());
org.eclipse.swt.ole.win32.OleFrame frame = new org.eclipse.swt.ole.win32.OleFrame(
swtParent, org.eclipse.swt.SWT.NONE);
org.eclipse.swt.ole.win32.OleClientSite site;
try {
site = new org.eclipse.swt.ole.win32.OleClientSite(frame,
org.eclipse.swt.SWT.NONE, "Word.Document");
} catch (org.eclipse.swt.SWTException e) {
String str = "Create OleClientSite Error" + e.toString();
System.out.println(str);
return;
}
setSize(500, 500);
validate();
site.doVerb(org.eclipse.swt.ole.win32.OLE.OLEIVERB_SHOW);
while (swtParent != null && !swtParent.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
});
thread.start();
}
public void stop() {
if (display != null && !display.isDisposed()) {
display.syncExec(new Runnable() {
public void run() {
if (swtParent != null && !swtParent.isDisposed())
swtParent.dispose();
swtParent = null;
display.dispose();
display = null;
}
});
remove(awtParent);
awtParent = null;
}
}
}
`
Toute idée pourquoi ça ne marche pas?
Voici ce que dit la console Java:
basic: Told clients applet is started Exception in thread "Thread-11" java.lang.ExceptionInInitializerError at org.eclipse.swt.widgets.Display.<clinit>(Display.java:130) at JWordViewer$1.run(JWordViewer.java:17) at java.lang.Thread.run(Unknown Source) Caused by: java.security.AccessControlException: access denied (java.util.PropertyPermission sun.arch.data.model read) at java.security.AccessControlContext.checkPermission(Unknown Source) at java.security.AccessController.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPropertyAccess(Unknown Source) at java.lang.System.getProperty(Unknown Source) at org.eclipse.swt.internal.Library.loadLibrary(Library.java:167) at org.eclipse.swt.internal.Library.loadLibrary(Library.java:151) at org.eclipse.swt.internal.C.<clinit>(C.java:21) ... 3 more
Et c'est après que je l'ai dit à faire confiance à cette applet ...
vous obtenez une erreur d'accès refusé. Avez-vous la permission de lire le fichier? –