class KJavaAppletWidget

A widget for displaying Java applets. More...

Definition#include <kjavaappletwidget.h>
InheritsQXEmbed (kdeui)
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods

Protected Methods

Protected Slots


Detailed Description

KJavaAppletWidget provides support for the inclusion of Java applets in Qt and KDE applications. To create an applet, you must first create a context object in which it will run. There can be several applets and contexts in operation at a given time, for example in a web browser there would be one context object for each web page. Applets in the same context can communicate with each other, applets in different contexts cannot. (Well actually, they can, but only via some very evil tricks). Once you have created a KJavaAppletContext, you can create as many applets in it as you want.

Once you have created the applet widget, you should call the various setXXX methods to configure it, they pretty much correspond to the HTML tags used to embed applets in a web page. Once the applet is configured call the create() method to set things in motion. The applet is running when it first appears, but you can start or stop it when you like (for example if it scrolls off the screen).

This widget works by firing off a Java server process with which it communicates using the KDE Java Applet Server (KJAS) protocol via a pipe. The applet windows are swallowed and attached to the QWidget, but they are actually running in a different process. This has the advantage of robustness and reusability. The details of the communication are hidden from the user in the KJASClient class. Normally only a single server process is used for all of the applets in a given application, this is all sorted automatically. The KJAS server is 100% pure Java, and should also prove useful for people wishing to add java support to other systems (for example a perl/Tk binding is perfectly feasible). All you need to do is implement the protocol and (optionally) swallow the applet windows.

Note that the KJAS protocol is not yet stable - it will certainly change for a while before settling down. This will not affect you unless you use the KJAS protocol directly.

The window swallowing code used in this widget is based on KSwallowWidget by Matthias Hoelzer.

 KJavaAppletWidget ( KJavaAppletContext *context, QWidget *parent=0, const char *name=0 )

 KJavaAppletWidget ( KJavaApplet *applet, QWidget *parent=0, const char *name=0 )

 KJavaAppletWidget ( QWidget *parent=0, const char *name=0 )

KJavaAppletWidget ()

void  setAppletName ( const QString &appletName )

QStringappletName ()

void  setAppletClass ( const QString &clazzName )

Specify the name of the class file to run. For example 'Lake.class'.

QStringappletClass ()

Get the name of the class file to run. For example 'Lake.class'.

void  setJARFile ( const QString &jar )

Specify the location of the jar file containing the class. (unimplemented)

QStringjarFile ()

Get the location of the jar file containing the class. (unimplemented)

void  setParameter ( const QString &name, const QString &value )

Specify a parameter to be passed to the applet.

QStringparameter ( const QString &name )

Get the value of a parameter to be passed to the applet.

void  setBaseURL ( const QString &base )

Set the URL of the document embedding the applet.

QStringbaseURL ()

Get the URL of the document embedding the applet.

void  setCodeBase ( const QString &codeBase )

Set the codebase of the applet classes.

QStringcodeBase ()

Get the codebase of the applet classes.

void  create ()

Create the applet.

void  show ()

[virtual]

Overridden to make sure the applet is created.

void  start ()

Run the applet.

void  stop ()

Pause the applet.

void  resize ( int, int )

void  setWindow ( WId w )

[protected slot]

void  showApplet ()

[protected slot]

void  swallowWindow ( WId w )

[protected]

void  uniqueTitle ()

[protected]