Swing applet refresh problem in JRE1.6

Now , i met a problean in java swing project which troubled me for a long time, that i want to ask for some suggestions, I really very very thank you.
The problean is :
we use the swing in the applet , and run it with JRE 1.6, we find that the interface often disappear and appears blank when refresh the page , but when we use the mouse to over the control which in the interface ,then this control will appear . Then we try to reduce some not used codes/packets in this project , then we find that this phenomenon will appear less often.
This defect will not appear in JRE 1.4 and JRE 1.5. And also it will not appear when just run it as a desktop program.
I don't know if it is a bug in JRE 1.6 or it is due to our program. Can you give me some suggestions ? Thank you!
More information like following document :
=================================================================================================
2, Problem happen condition :
     Applet with swing;
     Run in JRE1.6 environment;
     Open or refresh the applet web page;
     IE, Netscape, Mozilla , almost all explorers.
3, Problean describe :
     Open the Start.html page and click the �Pre-Provisioning Tool� button to open the PPT.html page. There is a configuration applet which uses swing in the PPT page. When we open or refresh this page , the applet often disappear and show blank. And when we move the mouse over the position of the control which in the applet , these controls then will appear again. But if we use the buttons which in the applet to open and back to the applet tab page, it will not show blank.
     At last we find that this problem is a very common problem when run applet in JRE1.6. It may happen whenever you run the applet which uses swing controls in JRE1.6.
     And I find that we use �Ctrl + Alt + Del� to lock the computer and then login in again when the page is blank, then the page will turn ok and the applet will appear.
     This prolem just happen in JRE1.6 environment . If in JRE1.4 or 1.5 it performes good.
4, What cause this issue :
     Until now , we have no successful and perfect solution to solve this problem completely. And we still don�t know the real reasons that causes this issue.. We find that there are some people in internet also met this issue and has no solution.
     But we can give some options to try to find the real reasons. And we also have been try some time :
It may a bug for JRE1.6. We can sure that it is not a bug for explorers, because it happens the same in all explorers. If it�s a JRE bug , I think we can only to waite the newer version JRE to solve this issue.
It due to our program. If this is true, I think we may modify the program to solve this sssue. But I�m afraid that it may need us to modify too much.
5, What works we have been try :
5.2 For our program : We try such ways :
     1) If the project too big and too much to download : We remove the not needed modules that in TCOTool project. .
     Result : This problem happened less often
     2) If some methods are not compatible between JRE 1.4/1.5 and JRE1.6 : I try to modify these method to fit JRE1.6 and compile the project by jDK1.6. (Methed such as show() to setVisible(true), hidden() to setVisible(false) )
     result : This problem happened less often but it�s also will happen.
     3) If operator too much when open PPT/SUT : such as load xml file too much times and so on.
6, About our project :
6.1 The applet web page :
<OBJECT
classid = "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
codebase = "application/x-java-applet;version=1.6"
width="860" height="640">
<PARAM NAME = CODE VALUE = "com.installApplet" >
<PARAM NAME = CODEBASE VALUE = "./jar/" >
<PARAM NAME = ARCHIVE VALUE = "TCOTools.jar" >
<PARAM NAME = MAYSCRIPT VALUE = true >
<PARAM NAME = "type" VALUE = "application/x-java-applet;version=1.6">
<PARAM NAME = "scriptable" VALUE = "false">
<PARAM NAME = "java.security.manager" VALUE>
<PARAM NAME = "java.security.policy" VALUE="java.policy" />
<PARAM NAME = "func" VALUE="1" />
<COMMENT>
     <EMBED
type = "application/x-java-applet;version=1.6" \
CODE = "com.installApplet" \
JAVA_CODEBASE = "./jar/" \
ARCHIVE = "TCOTools.jar" \
WIDTH = "100px" height="30px" \
MAYSCRIPT = true \
java.security.manager = \
java.security.policy ="java.policy" / \
func="1" \
     scriptable = false \
     pluginspage = "application/x-java-applet;version=1.6">
     <NOEMBED>
</NOEMBED>
     </EMBED>
</COMMENT>
</OBJECT>
6.2 The TCOTools.jar is almost 15Mb totally. So it need sometime to download this file. But we just test it in local.
=======================================================================================================
Welcome you to send mail to [email protected]

I will start by stating that I really have no idea what the problem could be. I will add to that by stating that I am going way out on a limb here.
That said - have you checked all your browser settings, cleared your cache and all the other things one usually does when an Applet acts quirky?
Also, have you tried the Applet tag instead of Object just for a test?
Sorry I can't do better than that, but w/o seeing the code, it's going to be difficult for anyone to help I think unless they have had a similar problem.

Similar Messages

  • Swing applet view problem in IE

    Hi,
    I am new to Java and have to develop a web enabled tool where the servlets in my Solaris-Tomcat web server is manipulating with data in an oracle database. The client code is on Swing Applet, which is to be opened in Internet Explorer 5.5 from Windows NT platform.
    In view of this, I have written a small swing applet and it is not opening in IE. I heard that I need to use HTML converter to run Swing applets in IE. But, Is it enough to download the HTML converter for Solaris and install it in the server and convert the html pages where <applet> tag is included? Or , do I need to install the HTML converter for windows to all the client machines?
    Please help. This is very urgent.
    Thanks in adance.

    You can use this html code :
    <html>
         <body>
              <OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" WIDTH = 695 HEIGHT = 525 codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
                   <PARAM NAME = CODE VALUE = MyApplet >
                   <PARAM NAME = CODEBASE VALUE = "." >
                   <PARAM NAME = ARCHIVE VALUE = "MyApplet.jar" >
                   <PARAM NAME="type" VALUE="application/x-java-applet;version=1.3">
                   <PARAM NAME="scriptable" VALUE="false">
              </OBJECT>
         </body>
    </html>
    replacing only the dimension, the code value and removing or modifying archive value.
    Don't modiy the classid. This code indicates to the browser to use the Sun Java VM instead of its own vm.
    I hope this helps,
    Denis

  • Applet Refresh Problem

    I have an applet running within a web page. It has various swing components within it. All are working perfectly except one swing component.
    When I hit the refresh button all the JLabels on my JToolBar are replicated one line below the original label. The only way I see around this problem is to close the browser and re-open it.
    Is there a bug in Java. Or is there somthing I should know??
    As far as I am aware the refresh button causes the applet to reload right? I know by holding down CTRL as I refresh (in IE) is a way round but this is not a practical solution...
    Any ideas?
    Andrew.

    I am using this HTML content and able to reload the applet successfully in Internet Explorer by just opening java console and type a key 'x' which says jvm to reload the class, but don't forget to include param cache with value false.
    I think this address many cache issues of dev's
    <html>
    <body>
    <applet  CODE = "HelloWorld.class" WIDTH = "100" HEIGHT = "100">
         <PARAM NAME="cache" value="false">
    </applet>
    </body>
    </html>Message was edited by: Venkateswara Rao Desu
    [email protected]

  • IE applet refresh problem

    I have a menu applet whose items are generated from a database query. The problem I'm having is that the applet will not refresh when the page is reloaded or the refresh button in ie is selected. Instead of the applet I just get the gray box. The java console is not displaying any errors or exceptions. The applet works perfectly in Netscape. I'm using IE 5.5. Does anyone know if there is a problem with the Mircrosoft VM (I know, leading question) that would cause this? This is a third party applet so unfortunately I can't modify the source.
    Thanks,
    Ed

    Unfortunately this is a third-party applet and so I can't modify the source code. I've tried explicitly calling the init() method from a javascript onLoad() function, but that doesn't seem to help (I've also tried calling the repaint() method).
    If the applet works in Netscape, I can only assume the discrepancy is in the Microsoft VM.

  • Applet refresh problem in Ajax appln

    I have a drag and drop applet in an Ajax application.
    The drag and drop applet comes in a dialog box when user clicks on one button from the ajax page.
    From the applet user can do drag and drop files ,and click on ok the file names will be transferred to the ajax page .
    The problem is when user clicks the dialog box for selecting different files ,then the previously selected files will be there in the applet. If we do a refresh (f5) of the web page then the problem is not there. But since it�s a ajax application we are not doing any refresh or reload in the processing,only when the application start for the frist time the page gets reloaded.Other wise only resetting the form values in each transaction
    Is there any way to do an automatic refresh of applet each time user selects the dialog box for file selection.?
    Please do help in solving the issue
    Thanks

    Hi
    i would start of by searching the forums "refresh applet". This question has been answered many times.
    HTH

  • Applet refresh problem..argent...

    hi all
    i have two classes ...
    appletclass and panelclass
    my applet init method contains two textboxes and one button which are displayed when i start my applet...
    my panelclass is extended from panel and contains 5 static texts and 5 textboxes....
    when i click on button in applet i want to remove two textboxes and button on applet and want to add panelclass object so that those five static texts and textboxes in panelclass should be displayed in browser...
    but when i do this in appletviewer, i can see those components only when i resize my applet window...
    but in ie browser only original components in applet are removed and applet window shows blank screen....
    what could be the problem ...
    pls help ...
    thanks in advance

    perform a refresh on the highest component of your applet:
    java.awt.Component.update(Graphics) (e.g. c.update(c.getGraphics());)

  • Applet refreshing problem

    Hi all,
    I have one jar and 2 HTML files which are referring to this jar.
    I opened Internet Explorer 6.0 and used first HTML. Jar got invoked successfully. Then closed application which I opened using Jar and
    tried to invoke second HTML which refers to same jar. My IE got hanged.
    I am not able to invoke my application.
    Can anybosy tell me what is the solution for this?

    Hi All
    Problem solved.
    Moved all code from init() to paint().
    Thanks
    Mandan

  • Swing Applet in JSP: problem with fetching data from database

    i am facing a problem while fetching data from database using Swing Applet plugged in a JSP page.
    // necessary import statements
    public class NewJApplet extends javax.swing.JApplet {
    private JLabel jlblNewTitle;
    private Vector vec;
    public static void main(String[] args) {
    JFrame frame = new JFrame();
    NewJApplet inst = new NewJApplet();
    frame.getContentPane().add(inst);
    ((JComponent)frame.getContentPane()).setPreferredSize(inst.getSize());
    frame.pack();
    frame.setVisible(true);
    public NewJApplet() {
    super();
    initGUI();
    private void initGUI() {
    try {
    this.setSize(542, 701);
    this.getContentPane().setLayout(null);
    jlblTitle = new JLabel();
    this.getContentPane().add(jlblTitle);
    jlblTitle.setText("TITLE");
    jlblTitle.setBounds(197, 16, 117, 30);
    jlblTitle.setFont(new java.awt.Font("Dialog",1,20));
    jlblNewTitle = new JLabel();
    this.getContentPane().add(jlblNewTitle);
    Vector vecTemp = getDBDatum(); // data fetched fm DB r stored here.
    jlblNewTitle.setText(vecTemp.get(1).toString());
    jlblNewTitle.setBounds(350, 16, 117, 30);
    jlblNewTitle.setFont(new java.awt.Font("Dialog",1,20));
    } catch (Exception e) {
    e.printStackTrace();
    }//end of initGUI()
    private Vector getDBDatum() {
    // fetches datum from oracle database and stores it in a vector
    return lvecData;
    }//end of getDBDatum()
    }//end of class
    in index.jsp page i have included the following code for calling this applet:
    <jsp:plugin type="applet" code="NewJApplet.class" codebase="applets"
    width="600" height="300">
    <jsp:fallback>Could not load applet...</jsp:fallback>
    </jsp:plugin>
    if i view it in using AppletViewer it runs perfectly and display the data in JLabel. (ie, both jlblTitle and jlblNewTitle).(ie, DATA FETCHES FROM db AND DISPLAYS PROPERLY)
    BUT IF I CLICK ON INDEX.JSP, ONLY jlblTitle APPEARS. jlblnNewTitle WILL BE BLANK(this label name is supposed to fetch from database)
    EVERY THING IS DISPAYING PROPERLY EXCEPT DATA FROM DATABASE!!!
    i signed the applet as follows :
    grant {
    permission java.security.AllPermission;
    Can any body help me to figure out the problem?

    This is the Swing Applet java code
    import java.awt.Dimension;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Vector;
    import javax.swing.tree.DefaultMutableTreeNode;
    import javax.swing.JScrollPane;
    import javax.swing.JApplet;
    import javax.swing.JButton;
    import javax.swing.JComponent;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JTree;
    import javax.swing.ScrollPaneConstants;
    import javax.swing.SwingConstants;
    public class HaiApplet extends javax.swing.JApplet {
         private JLabel     jlblTitle;
         private JLabel     jlblNewTitle;
         private Vector     vec;
         * main method to display this
         * JApplet inside a new JFrame.
         public static void main(String[] args) {
              JFrame frame = new JFrame();
              NewJApplet inst = new NewJApplet();
              frame.getContentPane().add(inst);
              ((JComponent)frame.getContentPane()).setPreferredSize(inst.getSize());
              frame.pack();
              frame.setVisible(true);
         public HaiApplet() {
              super();
              initGUI();
         private void initGUI() {
              try {               
                   this.setSize(542, 701);
                   this.getContentPane().setLayout(null);
                        jlblTitle = new JLabel();
                        this.getContentPane().add(jlblTitle);
                        jlblTitle.setText("OMMS");
                        jlblTitle.setBounds(197, 16, 117, 30);
                        jlblTitle.setFont(new java.awt.Font("Dialog",1,20));
                        jlblTitle.setHorizontalAlignment(SwingConstants.CENTER);
                        jlblTitle.setForeground(new java.awt.Color(0,128,192));
                        jlblNewTitle = new JLabel();
                        this.getContentPane().add(jlblNewTitle);
                        Vector vecTemp = getDBDatum();
                        jlblNewTitle.setText(vecTemp.get(1).toString());
                        jlblNewTitle.setBounds(350, 16, 117, 30);
                        jlblNewTitle.setFont(new java.awt.Font("Dialog",1,20));     
              } catch (Exception e) {
                   e.printStackTrace();
         }//end of initGUI()
         private Vector getDBDatum() {
              Vector lvecData = new Vector(10,5);
              Connection lcon = null;
              Statement lstmt = null;
              ResultSet lrsResults = null;
              String lstrSQL = null;
              String lstrOut = null;
              try {
                   OmmsDBConnect db = new OmmsDBConnect();
                   lcon = db.connectDb();
                   lstmt = lcon.createStatement(lrsResults.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
                   lstrSQL = "select DT_ID from P_DATATABLES";
                   lrsResults = lstmt.executeQuery(lstrSQL);        
                   int i = 0;
                   lrsResults.last();
                   int length = lrsResults.getRow();
                   System.out.println(length);
                   lrsResults.beforeFirst();
                   int recCount = 0;
                   while (lrsResults.next()) {
                        recCount++;
                        lvecData.addElement(new String(lrsResults.getString("DT_ID")));
                   //     System.out.println("ID :  " + lrsResults.getString(1));
                        i++;
                   }System.out.println("here 3 out fm while");
              catch(SQLException e) {
                   System.out.print("SQLException: ");
                   System.out.println(e.getMessage());
              catch(Exception ex) {
                   lstrOut = "Exception Occured " + ex.getMessage();
              finally {
                   try {
                        lrsResults.close();
                        lstmt.close();
                        lcon.close();
                        System.out.println("[DONE]");
                   catch(Exception e) {
                        System.out.println(e);
             }//end of finally
              return lvecData;
         }//end of getDBDatum()
    }//end of classOfcourse the above code compiles and runs well. in Applet Viewer
    I plugged the above Swing Applet in a JSP page index.jsp
    <jsp:plugin type="applet" code="NewJApplet.class" codebase="applets"
                   width="600" height="300">
         <jsp:fallback>Could not load applet...</jsp:fallback>
    </jsp:plugin>Every thing is working fine in AppletViewer...But if i view this in any browser, then only the jlblTitle is displaying. jlblNewTitle is not displaying(this label name is actually fetching from thedatabase)
    can any body help me regarding this matter.? Thx in Advance.

  • Unable to download images in a swing applet (1.3.1) behind proxy

    Hi
    One of my client have a proxy server and firewall and when they try to access my webserver
    then all the AWT applet are downloaded and rendered on client properly. However, the swing applet written
    using JDK 1.3.1 is downloaded and rendered but it doesn't display anything properly as images
    are not down loaded. I have used media tracker to add images to it like oMediaTracker.addImage( oImage, index );
    and then oMediaTracker.waitForAll();
    Java console display at client looks as follows:
    Java(TM) Plug-in: Version 1.3.1
    Using JRE version 1.3.1 Java HotSpot(TM) Client VM
    User home directory = C:\Documents and Settings\toy
    Proxy Configuration: no proxy
    c: clear console window
    f: finalize objects on finalization queue
    g: garbage collect
    h: display this help message
    l: dump classloader list
    m: print memory usage
    q: hide console
    s: dump system properties
    t: dump thread list
    x: clear classloader cache
    0-5: set trace level to <n>
    Applet Initialization start...
    Applet Image Initialization start...
    Trace level set to 5: basic, net, security, ext, liveconnect ... completed.
    Opening      http:MyServer/24/x.gif
    Connecting     http:MyServer/24/x.gif with no proxy
    Connecting
    http:MyServer/24/x.gif with cookie "ASPSESSIONIDGQGQQVWC=DLNBDAOABFANEPJFFIGOOIPG;
    JSESSIONID=25Ais2tF1eBkevUhAa2akocfShzNdzyL7yC1I7UhJl7Z6BLZrnQK!
    -1149265879"
    Opening      http:MyServer/40/y.gif
    Connecting      http:MyServer/40/y.gif with no proxy
    Connecting      http:MyServer/40/y.gif with cookie "ASPSESSIONIDGQGQQVWC=DLNBDAOABFANEPJFFIGOOIPG;
    JSESSIONID=25Ais2tF1eBkevUhAa2akocfShzNdzyL7yC1I7UhJl7Z6BLZrnQK!
    -1149265879"
    Opening     http://MyServer/sun/beans/infos/PanelBeanInfo.class
    Connecting     http://MyServer/sun/beans/infos/PanelBeanInfo.class with no proxy
    Connecting http://MyServer/sun/beans/infos/PanelBeanInfo.class with cookie "ASPSESSIONIDGQGQQVWC=DLNBDAOABFANEPJFFIGOOIPG;
    JSESSIONID=25Ais2tF1eBkevUhAa2akocfShzNdzyL7yC1I7UhJl7Z6BLZrnQK!
    -1149265879"
    Opening http://MyServer/java/awt/ContainerBeanInfo.class
    Connecting http://MyServer/java/awt/ContainerBeanInfo.class with no proxy
    Connecting http://MyServer/java/awt/ContainerBeanInfo.class
    Client machine tries to access these images but i never receive a call at web server end when i see
    IIS log.
    CLient environment:
    -Windows 2000/XP/NT
    -Internet explorer 6.0 SP1 or IE 5.5 SP2
    with connection->LAN Setting->Use Automatic configuration script(only checked)
    -Java Plugin configured like proxies->Use Browser Setting
    -JDK 1.3.1 plug in at client(downloaded and Installed automatically on demand)
    -Object tag used to download applet and plugin
    -Firewall and proxy(i don't know about vendor)
    My webserver environment
    Windows 2000/iis 5.0 with anonymous authentication and
    cache-control header set to no-store (so that proxy doesn't cache anything)
    QUESTIONS:
    ~~~~~~~~~
    Q.1. When i try from home network that has a proxy then everything works fine. At client site everything except
    image download works fine. I mean jars are downloaded and i can see anything drawn using JAVA API.
    When i try from home i see following java console trace
    Java(TM) Plug-in: Version 1.3.1
    Using JRE version 1.3.1 Java HotSpot(TM) Client VM
    User home directory = C:\Documents and Settings\wuko
    Proxy Configuration: Automatic Proxy Configuration
    c: clear console window
    f: finalize objects on finalization queue
    g: garbage collect
    h: display this help message
    l: dump classloader list
    m: print memory usage
    q: hide console
    s: dump system properties
    t: dump thread list
    x: clear classloader cache
    0-5: set trace level to <n>
    Trace level set to 5: basic, net, security, ext, liveconnect ... completed.
    Applet Initialization start...
    Applet Image Initialization start...
    Opening http://MyServer/24/connec.gif
    Connecting http://MyServer/24/connec.gif with proxy=197.168.1.100:808
    Connecting http://MyServer/24/connec.gif with cookie "ASPSESSIONIDQQGQQCYU=GBJFAOABCJFPDMGFHEKLDACA; JSESSIONID=26yu5m1b4upVuXoAoDmtMbWXQmetQpyzqjFANszo9vFubujT4qGX!-1149265879"
    Opening http://MyServer/24/cool.gif
    Connecting http://MyServer/24/cool.gif with proxy=197.168.1.100:808
    Connecting http://MyServer/24/cool.gif with cookie "ASPSESSIONIDQQGQQCYU=GBJFAOABCJFPDMGFHEKLDACA; JSESSIONID=26yu5m1b4upVuXoAoDmtMbWXQmetQpyzqjFANszo9vFubujT4qGX!-1149265879"
    etc
    I can't set the plugin at client to use automatic script just like IE browser uses. This option is not supported in JRE1.3.1. Looks to be supported in JRE1.4.1. My client doesn't want to set manual proxy ip and port in plugin as they don't want to reveal this info to everyone within the company for security reason.
    Q.2. Why some classes like PanelBeanInfo.class, JAppletBeanInfo.class are downloaded
    from my server while it doesn't exist at my webserver. Any thing stupid IE or plugin doing
    at client. Any Idea?
    Thanks in advance for any help.
    Ratan

    Thanks to Mike and other friends who already replied on this topic.
    Here is my research analysis:
    Answer to Question 1:
    ~~~~~~~~~~~~~~~~~~~~~
    The solution is to bundle all the images with JAR. Bundle with jar whichever needs it. However, it might require duplicacy.
    Image img = null;
    try
    img = Toolkit.getDefaultToolkit().getImage(getClass().getResource(fileName));
    catch (Exception e) { }
    In this case make sure that you have image at the same location where you access it. For example if you have to access an image in package class com.awt.ui.MyClass then your image should also be at location ..\com\awt\ui
    Note: It will require image duplicacy in your JAR but it solves the problem. It gives the advantage of fewer download from server.
    Answer to Question 2:
    ~~~~~~~~~~~~~~~~~~~~~
    IE treats applet as an active-X and try to look for these classes in your JAR. SUN has stopped its support in JDK1.3.1 and plus. What one can do is to create dummy classes with these names and bundle it with your JAR. You have to create these dummy classes if you enable Basic authentication on your web server then browser will try to look for these classes on the server and continue to prompt you for login and password. It might bother your customer un-necessarily to enter login and password too many times prompted by plug-in (plug in).
    --Ratan                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Which command i use to run SWING APPLET

    Hi friends,
    i m a new in swing technology i got and problem when i run swing applet .
    i make a file and complie it with -deprecation it work and make a .class file but how can i run this applet [i use jview command , appletviewer command but it can't work]
    i hope that someone hellp me.

    Just as a matter of interest and i know its a stupid question, but did you create a html file to access the class file/jar
    Here is some example code of an applet html page
    Hope it helps...
    Also have you put it in a Jar file?
    <html>
    <head>
    <title>(Whatever title youu want)</title>
    <BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
    <TR>
    <APPLET CODE = "ClassName.class" ARCHIVE = "JarName.jar" WIDTH = "800" HEIGHT = "600"></XMP>
    <PARAM NAME = CODE VALUE = "ClassName.class" >
    <PARAM NAME = ARCHIVE VALUE = "JarName.jar" >
    <PARAM NAME="type" VALUE="application/x-java-applet;version=1.3">
    <PARAM NAME="scriptable" VALUE="false">
    <dont worry about this>(they just variables for my applet)
    <PARAM NAME = SERVER_IP VALUE ="192.1.1.209">
    <PARAM NAME = SERVER_PORT VALUE =8701>
    <PARAM NAME = DEBUG VALUE =true>
    <PARAM NAME = REFRESH VALUE =10000>
    <PARAM NAME = TAIL_REFRESH VALUE =2500>
    <PARAM NAME = MESSAGE_TIMEOUT VALUE =60>
    </dont worry about this>
    </APPLET>
    </body>
    </html>

  • Swing Applets and javascript

    I'm writing a swing applet to do some rich text editing, mainly bolding, italicizing, etc as well as support for special characters (greek letters, etc). Rather than using the HTMLEditor kit (which I've heard suspect things about), I am going through the document tree and creating a corresponding HTML version of the string (inserting HTML entities based on position in the document). I am planning on exposing these to the client via javascript, but I have run into some problems with document.applets.appletName.publicMethodName. I've gotten this to work on IE for the PC. I am aware that there are some issues with the Sun plug-in for Netscape on PC. An additional complication is that this needs to work on a Macintosh as well. Does anyone know if the MRJ plugin supports this behavior (for both IE and Netscape)? Is there a better way to go about doing this, rather than using javascript to expose the HTMLized version of the string? Thanks in advance.
    Tim

    You must to check if the mrj plug-in is the same version to the jre1.3, because the jre 1.3 supports the javascript events. other way is incorporate in your applet the javascript class, in the next web page you will find the js.jar http://www.mozilla.org/rhino/download/
    if you have troubles write me to
    [email protected]
    good luck
    Carlos Sanhueza
    Santiago de Chile

  • Multiple Swing Applets

    I have 2 simple swing applets running simultaneously. When I refresh the browser window in which one of them has been launched from, I get the following error:
    java.lang.NullPointerException
         at sun.java2d.SunGraphics2D.<init>(SunGraphics2D.java:211)
    Any ideas? I'm testing with IE 6.0, JRE 1.4.0_02
    I'm assuming that the problem is thread related, but can't seem to resolve the problem.

    Thanks for the help, but I'm still having problems.
    I've trimmed the code down even more, and still have the same problem. It works fine as long as I have one instance of the applet running at once. Here's the HTML/Javascript that I'm using to launch the two instances.
    Another weird behavior is that the applet that I'm popping up in exploitationFrame.html has no problems when I refresh. Only the applet which is displayed in the main browser has problems.
    launcher.html
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <HTML>
    <HEAD>
    <SCRIPT>
    function popUp(location, xsize, ysize) {
         window.open(location,"applet","toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=0,resizable=1,width=" + xsize + ",height=" + ysize);
    </SCRIPT>
    </HEAD>
    <BODY>
    <applet code="ExploitationProto" codebase="WEB-INF/classes/" width="100" height="300">
    </applet>
    Launch new window
    </BODY>
    </HTML>
    exploitationFrame.html
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <HTML>
    <HEAD>
    </HEAD>
    <BODY>
    <applet code="ExploitationProto" codebase="WEB-INF/classes/" width="100" height="100">
    </applet>
    </BODY>
    </HTML>
    Exploitation.java
    import java.applet.Applet;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.tree.*;
    import javax.swing.event.*;
    public class ExploitationProto extends Applet {
         public void init() {
         public void start()
         Component contents = createComponents();
              this.add(contents);
         public void stop() {
         public Component createComponents() {
         //Create the nodes.
         DefaultMutableTreeNode top = new DefaultMutableTreeNode("Test");
         createNodes(top);
         //Create a tree that allows one selection at a time.
         final JTree tree = new JTree(top);
         tree.getSelectionModel().setSelectionMode
         (TreeSelectionModel.SINGLE_TREE_SELECTION);
         JScrollPane treeView = new JScrollPane(tree);
         Dimension minimumSize = new Dimension(100, 200);
         treeView.setPreferredSize(minimumSize);
         JPanel pane = new JPanel();
         pane.setBorder(BorderFactory.createEmptyBorder(
         30, //top
         30, //left
         10, //bottom
         30) //right
         pane.setLayout(new GridLayout(0, 1));
         GridBagLayout gridbag = new GridBagLayout();
         GridBagConstraints c = new GridBagConstraints();
              pane.setLayout(gridbag);
              c.anchor = GridBagConstraints.NORTH;
              c.gridx = 0;
              c.gridy = 0;
              c.gridx = 0;
              c.gridy = 1;
         gridbag.setConstraints(treeView, c);
         pane.add(treeView);
         return pane;
         //Set tree up
         private void createNodes(DefaultMutableTreeNode top) {
         DefaultMutableTreeNode category = null;
         DefaultMutableTreeNode node = null;
         category = new DefaultMutableTreeNode("Images");
         top.add(category);
         node = new DefaultMutableTreeNode("image1");
         category.add(node);
         node = new DefaultMutableTreeNode("image2");
         category.add(node);
         category = new DefaultMutableTreeNode("Vector Data");
         top.add(category);
         node = new DefaultMutableTreeNode("vector1");
         category.add(node);

  • How to run swing applets in a browser??

    I understand it is a typical question and there lot of articles on it. I tried but am confused. I installed JRE1.3 which has java plug-in along with it which supports swing applets in a browser.Once i got that plug in i also downloaded html converter but am confused how should i run my swing applet.Can anyone please explain in simple steps as to how to achieve this objective..Thanks much in advance..an example would be of real big help
    Thanks

    The below links will help you.
    http://java.sun.com/products/plugin//1.3/docs/index.docs.html
    http://java.sun.com/products/plugin/1.3/plugin.faq.html

  • Java Swing Applets in Mac Os

    hi there,
    I am a student at the University of Portsmouth in the UK in my third and last year. I am doing my dissertation as a game using applets for a client at the university of which there consits four prototypes. One of the main specification points is that it should work on an apple mac, therefore I am using Swing applets. however with my first prototype it works fine on windows in windows Explorer, firefox and Netscape but i cant get it to work on Mac os 9 or X even with the latest version of java installed on the machine. Can anyone tell me why this is so, I would be very gratefull.
    As I cant post the whole applet here as a file download I will just put some code snippets of the main program classes.
    Applet ------------------------------
    * Class JugglingBalls - A sub class of JApplet that combines the GameInterface and GamePanel into a single application
    * @author (Liam Morren)
    * @version (v1.0)
    import java.awt.*;
    import javax.swing.*;
    public class JugglingBalls extends JApplet
        // instance variables -----------------------------------------------------------------------------------------------------------------------------------
        private GamePanel gamePanel; // The game panel including game and render loop
        private GameInterface gameInterface; // The swing interface to modify the game scene components
        // JApplet methods -------------------------------------------------------------------------------------------------------------------------------------
         * Called by the browser or applet viewer to inform this JApplet that it
         * has been loaded into the system. It is always called before the first
         * time that the start method is called.
        public void init()
            gamePanel = new GamePanel();
            gameInterface = new GameInterface(gamePanel.getGameScene());
            Container content = getContentPane(); // The container for components in the applet
            setLayout(new BoxLayout(content, BoxLayout.X_AXIS));
            content.add(gamePanel);
            content.add(gameInterface);
         * Returns information about this applet.
         * An applet should override this method to return a String containing
         * information about the author, version, and copyright of the JApplet.
         * @return a String representation of information about this JApplet
        public String getAppletInfo()
            // provide information about the applet
            return "Title: JugglingBalls  \nAuthor: Liam Morren  \nA simple application showing balls juggling in the air.";
    Interface -------------------------------------
    * Class GameInterface - Lets you manipulate the game components using swing components
    * @author (Liam Morren)
    * @version (v1.0)
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import javax.swing.event.*;
    public class GameInterface extends JPanel
        // instance variables -------------------------------------------------------------------------------------------------------------------------------------
        private GameScene gameScene; // Reference to the game scene
        private JTabbedPane gameTabs; // Tabs for Game, Balls and Background
        // Scene panel
        JButton pause, start, reset; // Buttons
        // Balls panel
        JRadioButton redBall, greenBall, blueBall, archBall, figureOfEightBall; // Radio buttons
        JCheckBox canSplit; // Check box
        JComboBox setAllPaths, setAllTypes, newBall, selectBall; // Drop down boxes
        JButton deleteBall; // Button
        Ball currentBall; // Current ball being changed
        // Background panel
        JRadioButton black, white, red, green, blue, hide, show, stop, move, arch, figureOfEight; // Radio buttons
        // Constructors -------------------------------------------------------------------------------------------------------------------------------------------
         * Constructor for objects of class GameInterface
        public GameInterface(GameScene gameSceneIn)
            gameScene = gameSceneIn; // Reference to the game scene
            gameTabs = new JTabbedPane(); // JTabbedPane to hold different toolbars
            gameTabs.setPreferredSize(new Dimension(200, 494)); // Set the preffered size for the tabbed pane
            currentBall = gameScene.getBall(0); // First ball
            // Add the panels to the tabbed pane
            gameTabs.addTab("Scene", makeScenePanel());
            gameTabs.addTab("Balls", makeBallsPanel());
            gameTabs.addTab("Background", makeBackgroundPanel());
            add(gameTabs); // Add the tab to the game interface panel
            setPreferredSize(new Dimension(200, 200));
        // Other methods ------------------------------------------------------------------------------------------------------------------------------------------
         * makeScenePanel
         * @return JPanel - The scene panel with buttons added
        private JPanel makeScenePanel()
            // Make scene panel
            JPanel scenePanel = new JPanel();
            scenePanel.setLayout(new BoxLayout(scenePanel, BoxLayout.Y_AXIS)); // Change layout
            pause = new JButton("Pause"); // Make buttons
            start = new JButton("Start");
            reset = new JButton("Reset");
            // Add button actions
            pause.addActionListener(new ActionListener() // Add button listener to pause button
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                    gameScene.setPaused(true); // Pause game
            start.addActionListener(new ActionListener() // Add button listener to start button
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                    gameScene.setPaused(false); // Unpause game
            reset.addActionListener(new ActionListener() // Add button listener to reset button
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                    gameScene.reset(); // Reset game
                    updateSelectBallComboBox();
                    changeSelectedBall(0);
            scenePanel.add(pause); // Add buttons to scene panel
            scenePanel.add(start);
            scenePanel.add(reset);
            return scenePanel;
         * makeBackgroundPanel
         * @return JPanel - The background panel with buttons added
        private JPanel makeBackgroundPanel()
            // Make scene panel
            JPanel backgroundPanel = new JPanel();
            backgroundPanel.setLayout(new GridLayout(5, 1, 2, 2)); // Change layout
            // Make buttons
            // background colour buttons
            JPanel backgroundcolour = new JPanel(); // Change backgroundcolour panel
            backgroundcolour.setBorder(BorderFactory.createLineBorder(Color.black));
            black = new JRadioButton("Black"); // Radio buttons to change colour
            white = new JRadioButton("white");
            black.setSelected(true); // Set black as already selected
            ButtonGroup backColourGroup = new ButtonGroup(); // Group buttons so only one can be pressed at a time
            backColourGroup.add(black); // Add buttons to group
            backColourGroup.add(white);
            backgroundcolour.setLayout(new GridLayout(2, 2, 0, 0)); // Change layout
            backgroundcolour.add(new JLabel("Background colour")); // Add label
            backgroundcolour.add(black); // Add buttons to colours panel
            backgroundcolour.add(white);
            // Add radio button actions
            black.addActionListener(new ActionListener() // Add button listener to black button
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                    gameScene.setBackgroundColour(false); // Background colour = black
            white.addActionListener(new ActionListener() // Add button listener to white button
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                    gameScene.setBackgroundColour(true); // Background colour = white
            // colour buttons
            JPanel colours = new JPanel(); // Change colours panel
            colours.setBorder(BorderFactory.createLineBorder(Color.black));
            red = new JRadioButton("Red"); // Radio buttons to change colour
            green = new JRadioButton("Green");
            green.setSelected(true); // Set green as already selected
            blue = new JRadioButton("Blue");
            ButtonGroup colourGroup = new ButtonGroup(); // Group buttons so only one can be pressed at a time
            colourGroup.add(red); // Add buttons to group
            colourGroup.add(green);
            colourGroup.add(blue);
            colours.setLayout(new GridLayout(2, 2, 0, 0)); // Change layout
            colours.add(new JLabel("Change colours")); // Add label
            colours.add(red); // Add buttons to colours panel
            colours.add(green);
            colours.add(blue);
            // Add radio button actions
            red.addActionListener(new ActionListener() // Add button listener to red button
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                    if (gameScene.getBackgroundEffect().getColour() != 0)
                        gameScene.getBackgroundEffect().setColour(0); // Background effect colour = red
            green.addActionListener(new ActionListener() // Add button listener to green button
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                    if (gameScene.getBackgroundEffect().getColour() != 1)
                        gameScene.getBackgroundEffect().setColour(1); // Background effect colour = green
            blue.addActionListener(new ActionListener() // Add button listener to blue button
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                    if (gameScene.getBackgroundEffect().getColour() != 2)
                        gameScene.getBackgroundEffect().setColour(2); // Background effect colour = blue
            // hide buttons
            JPanel hideShow = new JPanel(); // Change hideShow panel
            hideShow.setBorder(BorderFactory.createLineBorder(Color.black));
            hide = new JRadioButton("Hide"); // Radio buttons to hide show
            show = new JRadioButton("Show");
            show.setSelected(true); // Set show as already selected
            ButtonGroup hideShowGroup = new ButtonGroup(); // Group buttons so only one can be pressed at a time
            hideShowGroup.add(hide); // Add buttons to group
            hideShowGroup.add(show);
            hideShow.setLayout(new GridLayout(2, 2, 0, 0)); // Change layout
            hideShow.add(new JLabel("Hide / Show")); // Add label
            hideShow.add(hide); // Add buttons to hideShow panel
            hideShow.add(show);
            // Add radio button actions
            hide.addActionListener(new ActionListener() // Add button listener to hide button
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                        gameScene.getBackgroundEffect().hide(); // Hide
            show.addActionListener(new ActionListener() // Add button listener to show button
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                        gameScene.getBackgroundEffect().unHide(); // Unhide
            // stopMove buttons
            JPanel stopMove = new JPanel(); // Change StopMove panel
            stopMove.setBorder(BorderFactory.createLineBorder(Color.black));
            stop = new JRadioButton("Stop"); // Radio buttons to stop move
            move = new JRadioButton("Move");
            stop.setSelected(true); // Set stop as already selected
            ButtonGroup stopMoveGroup = new ButtonGroup(); // Group buttons so only one can be pressed at a time
            stopMoveGroup.add(stop); // Add buttons to group
            stopMoveGroup.add(move);
            stopMove.setLayout(new GridLayout(2, 2, 0, 0)); // Change layout
            stopMove.add(new JLabel("Stop / Move")); // Add label
            stopMove.add(stop); // Add buttons to stopMove panel
            stopMove.add(move);
            // Add radio button actions
            stop.addActionListener(new ActionListener() // Add button listener to stop button
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                        gameScene.getBackgroundEffect().setMove(false); // stop
            move.addActionListener(new ActionListener() // Add button listener to move button
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                        gameScene.getBackgroundEffect().setMove(true); // move
            // changePath buttons
            JPanel changePath = new JPanel(); // Change changePath panel
            changePath.setBorder(BorderFactory.createLineBorder(Color.black));
            arch = new JRadioButton("Arch"); // Radio buttons to change path
            figureOfEight = new JRadioButton("Figure of eight");
            arch.setSelected(true); // Set stop as already selected
            ButtonGroup changePathGroup = new ButtonGroup(); // Group buttons so only one can be pressed at a time
            changePathGroup.add(arch); // Add buttons to group
            changePathGroup.add(figureOfEight);
            changePath.setLayout(new GridLayout(2, 2, 0, 0)); // Change layout
            changePath.add(new JLabel("Change Path")); // Add label
            changePath.add(arch); // Add buttons to changePath panel
            changePath.add(figureOfEight);
            // Add radio button actions
            arch.addActionListener(new ActionListener() // Add button listener to arch button
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                        gameScene.getBackgroundEffect().setPath(new Arch()); // Arch
            figureOfEight.addActionListener(new ActionListener() // Add button listener to figureOfEight button
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                        gameScene.getBackgroundEffect().setPath(new FigureOfEight()); // Figure of eight
            // Add components to background panel
            backgroundPanel.add(backgroundcolour);
            backgroundPanel.add(colours);
            backgroundPanel.add(hideShow);
            backgroundPanel.add(stopMove);
            backgroundPanel.add(changePath);
            return backgroundPanel;
         * makeBallsPanel
         * @return JPanel - The ball panel with buttons added
        private JPanel makeBallsPanel()
            // Make balls panel
            JPanel ballsPanel = new JPanel();
            ballsPanel.setLayout(new BoxLayout(ballsPanel, BoxLayout.Y_AXIS)); // Change layout
            // Make buttons
            // set all drop down boxes
            JPanel setAll = new JPanel(); // Set all panel
            setAll.setBorder(BorderFactory.createLineBorder(Color.black));
            String[] setAllPathsChoices = {"Arch", "Figure of eight"}; // Selections for set all paths
            setAllPaths = new JComboBox(setAllPathsChoices); // Add selections to combo box
            String[] setAllTypesChoices = {"Primary ball", "Pastel ball", "3D ball", "Image ball"}; // Selections for set all types
            setAllTypes = new JComboBox(setAllTypesChoices); // Add selections to combo box
            setAll.add(new JLabel("Set all paths")); // Add combo boxes to set all panel
            setAll.add(setAllPaths);
            setAll.add(new JLabel("Set all types"));
            setAll.add(setAllTypes);
            // Add combo box actions
            setAllPaths.addActionListener(new ActionListener() // Add selection listener to set all paths combo box
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                    if (setAllPaths.getSelectedItem() == "Arch")
                        gameScene.setAllPathsArch();
                    else
                        gameScene.setAllPathsFigureOfEight();
            setAllTypes.addActionListener(new ActionListener() // Add selection listener to set all types combo box
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                    if (setAllTypes.getSelectedItem() == "Primary ball")
                        gameScene.setAllTypesPrimaryBall();
                    else if (setAllTypes.getSelectedItem() == "Pastel ball")
                        gameScene.setAllTypesPastelBall();
                    else if (setAllTypes.getSelectedItem() == "Image ball")
                        gameScene.setAllTypesImageBall();
                    else
                        gameScene.setAllTypesBall3D();
            // new ball drop down box
            JPanel newBallPanel = new JPanel(); // new ball panel
            newBallPanel.setBorder(BorderFactory.createLineBorder(Color.black));
            String[] newType = {"Primary ball", "Pastel ball", "3D ball", "Image ball"}; // Selections for new ball
            newBall = new JComboBox(newType); // Add selections to combo box
            newBallPanel.add(new JLabel("New ball")); // Add combo boxes to new ball panel
            newBallPanel.add(newBall);
            // Add combo box actions
            newBall.addActionListener(new ActionListener() // Add selection listener to newBall combo box
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                    String ballType = (String) newBall.getSelectedItem();
                    if (ballType == "Primary ball")
                        gameScene.addBall(new PrimaryBall(gameScene));
                    else if (ballType == "Pastel ball")
                        gameScene.addBall(new PastelBall(gameScene));
                    else if (ballType == "Image ball")
                        gameScene.addBall(new ImageBall(gameScene));
                    else
                        gameScene.addBall(new Ball3D(gameScene));
                    updateSelectBallComboBox();
                    changeSelectedBall(gameScene.getBalls().size() - 1); // Update interface to show new ball
            // selected ball panel
            JPanel selectedBallPanel = new JPanel(); // selected ball panel
            selectedBallPanel.setBorder(BorderFactory.createLineBorder(Color.black));
            // Select ball
            selectBall = new JComboBox(gameScene.getBallList()); // Add ball list to the select drop down box
            deleteBall = new JButton("DeleteBall"); // Delete button
            // Ball colour
            redBall = new JRadioButton("Red"); // Red choice
            redBall.setSelected(true); // Start as selected
            greenBall = new JRadioButton("Green"); // Green choice
            blueBall = new JRadioButton("Blue"); // Blue choice
            ButtonGroup ballColour = new ButtonGroup(); // So only one colour can be selected at a tim
            ballColour.add(redBall);
            ballColour.add(greenBall);
            ballColour.add(blueBall);
            // Path
            archBall = new JRadioButton("Arch"); // Arch path choice
            archBall.setSelected(true); // Start as selected
            figureOfEightBall = new JRadioButton("Figure of eight"); // Figure of eight path choice
            ButtonGroup ballPath = new ButtonGroup(); // So only one path can be selected at a tim
            ballPath.add(archBall);
            ballPath.add(figureOfEightBall);       
            // Can split
            canSplit = new JCheckBox("Can split", false); // Initialy not selected
            selectedBallPanel.add(new JLabel("Select ball")); // Add components to selected ball panel
            selectedBallPanel.add(selectBall);
            selectedBallPanel.add(deleteBall);
            selectedBallPanel.add(new JLabel("Ball colour"));
            selectedBallPanel.add(redBall);
            selectedBallPanel.add(greenBall);
            selectedBallPanel.add(blueBall);
            selectedBallPanel.add(new JLabel("Path"));
            selectedBallPanel.add(archBall);
            selectedBallPanel.add(figureOfEightBall);
            selectedBallPanel.add(canSplit);
            // Add select ball drop down box action
            selectBall.addActionListener(new ActionListener() // Add selection listener to selectBall combo box
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                    changeSelectedBall(selectBall.getSelectedIndex()); // Change the selected ball using the index from the select ball drop down box
            // Add delete button action
            deleteBall.addActionListener(new ActionListener() // Add selection listener to deleteBall button
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                    int tempIndex = selectBall.getSelectedIndex(); // Temp index
                    if (gameScene.getBalls().size() > 1) // If there is more than 1 ball left
                        gameScene.removeBall(tempIndex); // Remove ball
                        updateSelectBallComboBox(); // Update with new ball list
                        changeSelectedBall(tempIndex - 1); // Update interface with new current selected ball
            // Add radio button colour actions
            redBall.addActionListener(new ActionListener() // Add button listener to redBall button
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                    if (currentBall.getColour() != 0)
                        currentBall.setColour(0); // currentBall colour = red
            greenBall.addActionListener(new ActionListener() // Add button listener to greenBall button
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                    if (currentBall.getColour() != 1)
                        currentBall.setColour(1); // currentBall colour = green
            blueBall.addActionListener(new ActionListener() // Add button listener to blueBall button
                public void actionPerformed(ActionEvent ev) // Background colour = blue
                    if (currentBall.getColour() != 2)
                        currentBall.setColour(2); // currentBall colour = blue
            // Add path radio button actions
            archBall.addActionListener(new ActionListener() // Add button listener to arch button
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                        currentBall.setPath(new Arch()); // Arch
            figureOfEightBall.addActionListener(new ActionListener() // Add button listener to figureOfEight button
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                        currentBall.setPath(new FigureOfEight()); // Figure of eight
            // Add can split check button actions
            canSplit.addActionListener(new ActionListener() // Add button listener to can split
                public void actionPerformed(ActionEvent ev) // Overide actionPerformed() method
                        currentBall.setCanGiveBirth(canSplit.isSelected()); // Ball can split if can split check button is selected
            // Add components to ball panel
            ballsPanel.add(setAll);
            ballsPanel.add(newBallPanel);
            ballsPanel.add(selectedBallPanel);
            return ballsPanel;
         * changeSelectedBall
         * @param  ballIndexIn - The numbered index of the ball in the game scene list of balls. If less than 0 then equals 0. If more than ball list size then equals last ball
        public void changeSelectedBall(int ballIndexIn)
            if (ballIndexIn < 0) // Make sure index is within bounds
                ballIndexIn = 0;
            else if (ballIndexIn >= gameScene.getBalls().size())
                ballIndexIn = gameScene.getBalls().size() - 1; // Else put within bounds at either end
            currentBall.highlight(false); // Unhighlight current ball
            currentBall = gameScene.getBall(ballIndexIn); // Get new current ball
            currentBall.highlight(true); // Highlight new current ball
            // Update controls to new ball
            selectBall.setSelectedIndex(ballIndexIn);
            switch (currentBall.getColour()) // Update colour controls
                case 0: redBall.setSelected(true); break;
                case 1: greenBall.setSelected(true); break;
                default: blueBall.setSelected(true); break;
            if (currentBall.getPath() instanceof Arch) // If path is arch
                archBall.setSelected(true); // Update controls as arch
            else
                figureOfEightBall.setSelected(true); // Else figure of eight
            canSplit.setSelected(currentBall.canGiveBirth()); // Set if the ball can split or not
         * updateSelectBallComboBox
         * This method updates the combo box selection model with a new one made from the updated balls arraylist from the game scene
        public void updateSelectBallComboBox()
            DefaultComboBoxModel model = new DefaultComboBoxModel(gameScene.getBallList());
            selectBall.setModel(model);
    }Kind regards
    Liam morren

    http://docs.info.apple.com/article.html?artnum=301073
    This link states Mac OS X 10.4 now supports Java 5.0. It does mention nothing about Mac OS 9 or previous version of OS X. The problem you may be facing is that your Mac is running only 1.4.2 or less. The class files compiled for Java 5.0 can't run in non 5.0 versions of the Java Virtual Machine. Java 5.0 was a major release for the Java language and thus the change in numbering (though it took a little bit for this to change).
    Anyway you should confirm what version of Java you have installed on your Mac.
    At a command prompt:
    java -version
    The above URL states that the previous 1.4.2 Java version is not uninstalled, and this could still be the preferred version to use for Java applications even after installing Java 5.0.
    The URL above states there is a utility to set your apps to use Java 5.0 as the perferred Java version. Who knows maybe this is all you need to do. I hope this is the case, then it probably is an easy fix, otherwise you may need to rewrite your app in Java 1.4.2 to get it to run on your version of Mac.

  • Swing applet

    I've been trying to get my browser (Netscape 4.77
    on Windows NT) to run swing applets. I've got
    jre 1.3.1 installed and it said it got the plugin,
    but when i try to run the test applet at the url
    www.java.com/products/jfc/tsc/articles/getting_started/applet_test.html i get an error message complaining
    about class format errors and bad magic numbers.
    i've also tried to do the same on my linux system
    and had no success (although a different error)
    how do i get swing applets to work?

    It's frustrating...isn't it?
    I ran into the same problem and found out that the demo on their site was out of date. After I downloaded the tutorial from Sun, everything worked out ok. Try the link below for a download:
    http://java.sun.com/docs/books/tutorial/
    V.V.

Maybe you are looking for

  • Just sent my ipad air in for repair

    Recently my Ipad's screen would not respond, it would also freeze a lot. I thought maybe it was because I had too many apps or pictures, so I erased everything on my Ipad and did a factory reset. Still no luck. Got fed up, called apple and they sent

  • Airport troubles

    Hello all. I'm new to macs so I'm wondering if I got a broken airport module or something. Is anybody else having problems with their Airport on the mini connecting to their router? Currently I got 2 PCs and an Ipod touch wirelessly connected to my r

  • ADF Mobile : Long text in lists

    Jdev Version: 11.1.2.3 We have an amx page showing a list, the values of which is coming from a collection model. The problem here is that the text we want to display is a little long and it cuts up at the end of the line . The rest of the text conte

  • Crystal 11 Stacked Area Chart Data Start Point X-Axis

    I am trying to create a Stacked area chart and by default there is space between the y-axis and the first data point on the x-axis. Is there any way to eliminate this space so that the first data point appears directly on the y-axis?

  • Error Adobe After Effects (83 :: 4)

    Please help! No open!