Certification Applet and Signature class

hi
I need a Certification Applet . how can i use Signature class for signing data with RSA_SHA_PKCS1 ?
i need a sample code. which class is better for this purpose? Signature class or Cipher class?
thanks,
siavash

i used Signature class for signing data with RSA.
how can i use private and public keys
for signing and verification correctly?
i signed my data with private key and verify it with public key,
but verify method returns false.

Similar Messages

  • Java Applets and multiple classes not working.

    I have tested my JApplet class alone to view its layout and to make sure it actually works. But once I add in my other classes, compile, jar, and test I get the error:
    java.lang.NoClassDefFoundError: AlakApp (wrong name: alak/codeFiles/AlakApp)
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
    4)
            at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
            at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
            at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:155)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
            at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:127)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
            at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:618)
            at sun.applet.AppletPanel.createApplet(AppletPanel.java:779)
            at sun.applet.AppletPanel.runLoader(AppletPanel.java:708)
            at sun.applet.AppletPanel.run(AppletPanel.java:362)
            at java.lang.Thread.run(Thread.java:619)My Directory contains these and only these:
    F:\alak\codeFiles:
      AlakApp.java
      Game.java
      Board.java
      Space.java
      index.html
      AlakGame.jarAll my classes are in the package alak.codeFiles.
    My .html file contains this:
    <HTML>
    <HEAD>
      <TITLE>ALAK</TITLE>
    </HEAD>
    <BODY>
      <applet code="AlakApp.class" archive="AlakGame.jar" width=400 height=200>
      Please use a Java compatible browser to see this.
      </applet>
      <br>
    </BODY>
    </HTML>These are they commands I am issuing:
    F:\alak\codeFiles>javac *.java
    F:\alak\codeFiles>jar -cvf AlakGame.jar *.class
    F:\alak\codeFiles>appletviewer index.htmlI've been trying many different things to narrow down what is going on. If you need to see my code let me know, but I've tested everything with a text-based user interface and they work.
    So does anyone know the cause of this error?

    Ok i rared the test and uploaded to rapidshare.. here is the link:
    http://rapidshare.com/files/76860865/test.rar.html
    But here is the code. They are in the directory /test/files/
    ADigit.java
    package test.files;
    public class ADigit
      private int value;
      public ADigit( int val )
       this.value = val;
      public String toString()
       return "" + this.value;
    }ADigitApp.java
    package test.files;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class ADigitApp extends JApplet implements ActionListener
      private ADigit numeroUno;
      private int currentNum;
      private Container container;
      private javax.swing.JLabel jLabel;
      private javax.swing.JTextArea jTextArea;
      private javax.swing.JButton jButton;
      public void init()
        currentNum = 1;
        numeroUno = new ADigit( currentNum );
         container = getContentPane();
        container.setLayout( new BorderLayout() );
         jLabel = new javax.swing.JLabel();
         jTextArea = new javax.swing.JTextArea();
         jLabel.setText( "The Number is: " );
         jTextArea.setText( numeroUno.toString() );
         jButton = new javax.swing.JButton();
         jButton.setText( "New Number" );
        jButton.addActionListener( this );
         container.add( jLabel, BorderLayout.WEST );
         container.add( jTextArea, BorderLayout.CENTER );
         container.add( jButton, BorderLayout.EAST );
        setSize( 200, 200 );
      public void actionPerformed( ActionEvent e )
        this.currentNum++;
         numeroUno = new ADigit( this.currentNum );
         jTextArea.setText( numeroUno.toString() );
    }index.html
    <HTML>
    <HEAD>
      <TITLE>NUMBERSSSS</TITLE>
    </HEAD>
    <BODY>
      <applet code="ADigitApp.class" archive="NumberFun.jar" width=200 height=200>
      Please use a Java compatible browser to see this.
      </applet>
      <br>
    </BODY>
    </HTML>Commands:
    /test/files>javac *.java
    /test/files>jar -cvf NumberFun.jar *.class
    /test/files>appletviewer index.htmlThis example produces the same style of error.

  • Applet and Robot class???

    Alright, I want to write a java program uses the robot class (the class that allows for control of keybourd and mouse commands) would this work in an applet, or would it break the applet rules that ensure computer security on the web.

    i just want it to work on 1 computer, is there a way that i can override the things that dont work on the net?

  • Applets and local classes

    Hi
    I have recently had to do some applet redevelopment because of some security changes introduced in jdk1.5. In the old install of the application some files were copied from the install cd to the users jvm\classes folder. These files were then used from the applet when it was downloaded from the web server. I now want to include some of these files in the jar file that contains the applet rather than use the local version installed on the users machine. The JVM seems to pick up the local classes before the ones contained in the jar. Is this by design ? or has anyone seen similar behaviour ?
    Thanks
    Paul

    There is a seporate applet forum here.
    My guess is because you are using the depreciated applet tag the applet is run with the
    msjvm. This is version 1.1.2 and eaven when it can read the class file it does not support
    swing (since 1.2 I think).
    First of all try to use the object tag
    http://java.sun.com/products/plugin/versions.html
    http://forum.java.sun.com/thread.jspa?threadID=455931&messageID=2079929
    If it still doesn't work check if code and codebase are correct:
    http://java.sun.com/j2se/1.4.2/docs/guide/misc/applet.html (works the same for object
    as for applet)
    If it still doesn't work try to inspect the full trace:
    To turn the full trace on (windows) you can start the java console, to be found here:
    C:\Program Files\Java\j2re1.4...\bin\jpicpl32.exe
    In the advanced tab you can fill in something for runtime parameters fill in this:
    -Djavaplugin.trace=true -Djavaplugin.trace.option=basic|net|security|ext|liveconnect
    if you cannot start the java console check here:
    C:\Documents and Settings\userName\Application Data\Sun\Java\Deployment\deployment.properties
    I think for linux this is somewhere in youruserdir/java (hidden directory)
    add or change the following line:
    javaplugin.jre.params=-Djavaplugin.trace\=true -Djavaplugin.trace.option\=basic|net|security|ext|liveconnect
    for 1.5:
    deployment.javapi.jre.1.5.0.args=-Djavaplugin.trace\=true -Djavaplugin.trace.option\=basic|net|security|ext|liveconnect
    The trace is here:
    C:\Documents and Settings\your user\Application Data\Sun\Java\Deployment\log\plugin...log
    I think for linux this is somewhere in youruserdir/java (hidden directory)

  • Applet and signature

    Hello All. This is my first post on this forum. I am clicking form Poland and please for tolerance for language's mistakes.
    I signed applet like that:
    1) keytool -genkey -keyalg rsa -alias tstkey
    2) keytool -export -alias tstkey -file tstcert.crt
    3) jarsigner moj_plik.jar tstkey ... and everything was ok. Applet asked for accepting the certificate and after that ran.
    But when I have changed the GUI view and tried to sign it I got the information like that:
    keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect Does somebody know what's going on and how to iron out this problem?
    Thanks for all ideas.

    You probably will need to resign the applet.

  • Applet and Calendar class

    Hi,
    I am developing a Applet, which has lot of functions which needs calendar
    So i use Calendar.getInstance(); to get the instance if calendar
    But this applet will be used by clients all over the world,
    So i want to know, what will be the effect if i use Calendar.getInstance(); to get the instance of calendar,
    Any comments, help , or documents
    Thanx
    Ashish

    The timezone that the client machine, and the datetime format and all the other localized properties will be a part of the instance.
    Hope this helps.

  • Are enums and inner classes allowed in taglib function signatures??

    Hi,
    I have a taglib with the following function definition:
    <function>
            <description>Determine if viewing a patient attribute is allowed</description>
            <name>isViewingPatientAttributeAllowed</name>
            <function-class>com.example.admin.authorization.UserAuthorizer</function-class>
            <function-signature>boolean isViewingPatientAttributeAllowed(com.example.bean.User, com.example.bean.Patient.PatientAttribute, com.example.bean.Patient)</function-signature>
            <example>
                ${ncvi:isViewingPatientAttributeAllowed(user, patientAttribute, patient)}
            </example>
    </function>Where com.example.bean.Patient.PatientAttribute is an enum (note package names have been changed to protect the innocent;-). When I try to compile my web app I get the following error:
    org.apache.jasper.JasperException: The class com.example.bean.Patient.PatientAttribute specified in the method signature in TLD for the function ncvi:isViewingPatientAttributeAllowed cannot be found. com.example.bean.Patient.PatientAttributeIf I change PatientAttribute to a static inner class of Patient, I still get the error. Are enums and inner classes allowed in function signatures?
    Thx.

    I think that you'll find it easier to define a non-inner abstract class RefBase, that exposes a removeFromQueue() method, then extend that for your Ref class. That way, the queue just deals with RefBase instances (or ? extends RefBase).
    I think that any other approach is going to get the compiler confused, because the compile-time Ref depends on the parameterization of its defining class.

  • How to load an applet with 2 classes and get it to display properly

    Ok I am a very newbie as you can tell by code below but I need help duh. I am a student taking a Java course on my own (ie no marks) so I know what I am doing in a second level java courseI am not sure if my problem is with "Forte for Java 4, CE" or my code. I have two files. Door.java and Exercise4a.java
    The code is as follows:
    Door.java
    package Exercise4.Exercise4a;
    import java.awt.*;
    import java.applet.*;
    public class Door extends java.applet.Applet {
    /** Creates a new instance of Door */
    int x;
    int y;
    public void init() {
    Graphics b;
    public Door(Point aPoint)
    x = (int)aPoint.getX();
    y = (int)aPoint.getY();
    public void paint(Graphics graphics)
    graphics.drawRect(0 + x ,0 + y, 20,30);
    graphics.setColor(Color.black);
    graphics.fillOval(15 + x,15 + y ,5,5);
    graphics.drawImage(buffer,0,0,this);
    public static void main(String args[]){}
    and Exercise4a.java
    package Exercise4.Exercise4a;
    import java.awt.*;
    import java.applet.*;
    public class Exercise4a extends java.applet.Applet {
    Graphics b;
    public void init() {
    Point a = new Point(0,0);
    Door door = new Door(a);
    My problem is that I do not see my door when I compile either file.
    What am I doing wrong? Is this acode problem. ie how do I load the graphics or is it that I am not compiling it correctly.

    package Exercise4.Exercise4a;
    import java.awt.*;
    import java.applet.*;
    public class Exercise4a extends java.applet.Applet {
    Graphics b;
    public void init() {
    Point a = new Point(0,0);
    Door door = new Door(a);// door.paint (b)

  • Applets and classes in jar files

    I have placed an applet and a group of classes that the applet uses in a jar file.
    The classes are grouped in their own files in a short directory tree within the jar file.
    When the applet is loaded by the browser on a client with the usual CODE="appletname.class" and ACRCHIVE="jarname.jar" statements, are the related class files and the directory tree also loaded into the client? Or do they remain at the server to be used by the applet as necessary?

    I'd say the entire JAR will be downloaded.

  • We now use Acrobat xi for special active forms we created that include certifications and signature fields, some of the forms are programmed to create other forms, will we have a problem upgrading to DC

    We now use Acrobat xi for special active forms we created that include certifications and signature fields, some of the forms are programmed to create other forms, will we have a problem upgrading to DC
    Our users use a form template to create other adobe forms with calculated fields, signature fields (using digital signatures)
    , and buttons. Will we be able to continue developing these forms if we upgrade to Acrobat DC?

    Hi Alex ,
    In general ,you would not have any issues and problems moving to Acrobat DC .It has a different user interface and with more enhanced features .
    You would be able to develop the kind of forms you are referring to .
    You could refer to the following document to get more information about Acrobat DC .
    FAQ | Adobe Acrobat DC
    If in case you are referring to any particular issue or problem or if you face any regarding Acrobat DC ,we are always here to help you with that .
    Please feel free to write us back .
    Regards
    Sukrit Dhingra

  • Applets and classes and jars

    ok, this has probably been asked and answered a million times, but I cannot find it anywhere.
    heres my problem:
    I have an applet and am trying to run it from internet explorer and all I get is a blank screen. the code is:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" CONFILTERED="text/html; charset=windows-1252"></meta>
    <title>Segregation of Duties</title>
    <link type="text/css" rel="stylesheet" href="department.css"/>
    <style type="text/css">
    body {
    background-color: #528cff;
    a:link { color: #528cff; }
    <applet code=mypackage.SODApplet.class archive=deploy.SODApplet.jar Height=300 Width=300>
    </applet>
    </style>
    </head>
    <body></body>
    </html>
    Apparently it cannot find the class or the jar. But how do I tell it where to find them?
    The class is in c:/jdevinstall/jdev/mywork/SOD/SODReports/classes/mypackage
    and the jar is in
    c:/jdevinstall/jdev/mywork/SOD/SODReports/deploy/
    the html is on my desktop
    Richard

    Nothing to do with Servlets here... but:
    The Applet JAR has to be in a path relative to the web page, or the server root. You are asking the client (the web browser the user is using) to download the JAR and look inside for the class to run. So the web browser must be able to see that JAR. As such it needs to be in a directory your server hosts. The easiest is to have it in a directory relative to the page that displays it, such as:
    Web Hosted Directory:   C:\Web\HostedDir\
    Web page location                       \MyApp\SODAppletPage.html
    JAR file location                       \MyApp\lib\SODApplet.jar
    Applet tag
        <applet code="mypackage.SODApplet.class"
                archive="lib/SODApplet.jar"
                Height=300 Width=300>
        </applet>

  • How to implement the abstract classes MessageDigest and Signature?

    Hi all,
    I've recently started working on JCDK 2.2.1.
    I have a problem to share and get suggestions from you!
    My aim is to implement ECDSA on Java card
    I have seen the Javacard API and tried to program using the classes
    MessageDigest and Signature. They are abstract classes and except the
    Method getInstance in them, the rest of all methods are declared abstract.
    Does that mean we have to give definition for them or else can we use
    them as they are?
    I tried giving some definitions, but to my surprise there's no such
    initiation of any variable to the algorithm we provide in the method
    "getInstance"! Then, it's not possible to give defn,. for other
    methods like getAlgorithm, reset, etc. How can we resolve this ?
    Any ideas?
    Regards,
    Johnbuchk

    try this...
    http://developer.sonyericsson.com/site/global/techsupport/tipstrickscode/java/p_java_0501.jsp
    hope it can help u

  • Applets and memory not being released by Java Plug-in

    Hi.
    I am experiencing a strange memory-management behavior of the Java Plug-in with Java Applets. The Java Plug-in seems not to release memory allocated for non-static member variables of the applet-derived class upon destroy() of the applet itself.
    I have built a simple "TestMemory" applet, which allocates a 55-megabytes byte array upon init(). The byte array is a non-static member of the applet-derived class. With the standard Java Plug In configuration (64 MB of max JVM heap space), this applet executes correctly the first time, but it throws an OutOfMemoryException when pressing the "Reload / Refresh" browser button or if pressing the "Back" and then the "Forward" browser buttons. In my opionion, this is not an expected behavior. When the applet is destroyed, the non-static byte array member should be automatically invalidated and recollected. Isn't it?
    Here is the complete applet code:
    // ===================================================
    import java.awt.*;
    import javax.swing.*;
    public class TestMemory extends JApplet
      private JLabel label = null;
      private byte[] testArray = null;
      // Construct the applet
      public TestMemory()
      // Initialize the applet
      public void init()
        try
          // Initialize the applet's GUI
          guiInit();
          // Instantiate a 55 MB array
          // WARNING: with the standard Java Plug-in configuration (i.e., 64 MB of
          // max JVM heap space) the following line of code runs fine the FIRST time the
          // applet is executed. Then, if I press the "Back" button on the web browser,
          // then press "Forward", an OutOfMemoryException is thrown. The same result
          // is obtained by pressing the "Reload / Refresh" browser button.
          // NOTE: the OutOfMemoryException is not thrown if I add "testArray = null;"
          // to the destroy() applet method.
          testArray = new byte[55 * 1024 * 1024];
          // Do something on the array...
          for (int i = 0; i < testArray.length; i++)
            testArray[i] = 1;
          System.out.println("Test Array Initialized!");
        catch (Exception e)
          e.printStackTrace();
      // Component initialization
      private void guiInit() throws Exception
        setSize(new Dimension(400, 300));
        getContentPane().setLayout(new BorderLayout());
        label = new JLabel("Test Memory Applet");
        getContentPane().add(label, BorderLayout.CENTER);
      // Start the applet
      public void start()
        // Do nothing
      // Stop the applet
      public void stop()
        // Do nothing
      // Destroy the applet
      public void destroy()
        // If the line below is uncommented, the OutOfMemoryException is NOT thrown
        // testArray = null;
      //Get Applet information
      public String getAppletInfo()
        return "Test Memory Applet";
    // ===================================================Everything works fine if I set the byte array to "null" upon destroy(), but does this mean that I have to manually set to null all applet's member variables upon destroy()? I believe this should not be a requirement for non-static members...
    I am able to reproduce this problem on the following PC configurations:
    * Windows XP, both JRE v1.6.0 and JRE v1.5.0_11, both with MSIE and with Firefox
    * Linux (Sun Java Desktop), JRE v1.6.0, Mozilla browser
    * Mac OS X v10.4, JRE v1.5.0_06, Safari browser
    Your comments would be really appreciated.
    Thank you in advance for your feedback.
    Regards,
    Marco.

    Hi Marco,
    my guess as to why JPI would keep references around, if it does keep them, is that it propably is an implementation side effect. A lot of things are cached in the name of performance and it is easy to leave things laying around in your cache. Maybe the page with the associated images/applets is kept in the browser cache untill the browser needs some memory and if the browser memory manager is not co-operating with the JPI/JVM memory manager the browser is not out of memory, thus not releasing its caches but the JVM may be out of memory. Thus the browser indirectly keeps the reference that it realy does not need. This reference could be inderect through some 'applet context' or what ever the browser uses to interact with JPI, don't realy know any of these details, just imaging what must/could be going on there. Browser are amazingly complicated beast.
    This behaviour that you are observing, weather the origin is something like I speculated or not, is not nice but I would not expect it to be fixed even if you filed a bug report. I guess we are left with relleasing all significatn memory structures in destroy. A simple way to code this is not to store anything in the member fields of the applet but in a separate class; then one has to do is to null that one reference from the applet to that class in the destroy method and everything will be relased when necessary. This way it is not easy to forget to release things.
    Hey, here is a simple, imaginary, way in which the browser could cause this problem:
    The browser, of course needs a reference to the applet, call it m_Applet here. Presume the following helper function:
    Applet instantiateAndInit(Class appletClass) {
    Applet applet=appletClass.newInstance();
    applet.init();
    return applet;
    When the browser sees the applet tag it instantiates and inits the new applet as follows:
    m_Applet=instantiateAndInit(appletClass);
    As you can readily see, the second time the instantiation occurs, the m_Applet holds the reference to the old applet until after the new instance is created and initlized. This would not cause a memory leak but would require that twice the memory needed by the applet would be required to prevent OutOfMemory.I guess it is not fair to call this sort of thing a bug but it is questionable design.In real life this is propably not this blatant, but could happen You could try, if you like, by allocating less than 32 Megs in your init. If you then do not run out of memory it is an indication that there are at most two instances of your applet around and thus it could well be someting like I've speculated here.
    br Kusti

  • Why the same function ToolTipText behaves differently in Jar and in Class

    Hi All! In my applet I use two similar statements from javax.swing:
    jListTeaSortSelect.setToolTipText("To stop the alarm just click over here.");
    jProgressBar1.setToolTipText("To stop the alarm just click over here.");
    Both work correctly when I run my applet from classes.
    Problem: When I run it from jar, composed from the same classes, second tool tip does not appear.
    I have no idea on where to get a hint to the solution. Could that be that the problem is caused by other graphical components or by the layout of the container?
    The applet and JAR in question with source code can be found on
    http://www.kobylkin.net/TeaTimer.htm , and the source code is included below in this letter as well..
    Thanks!
    Egor
    I do not include GNU GPL here, for histerical reasons [:-)]
    * TeaTimerJApplet.java
    * Created on 19. Januar 2002, 18:56
    * Tea timer with sound alarm to brew your tea right for the best taste.
    * Copyright Kobylkin Egor 2002. [email protected] www.kobylkin.net
    * This program is free software; you can redistribute it and/or
    * modify it under the terms of the GNU General Public License
    * as published by the Free Software Foundation; either version 2
    * of the License, or (at your option) any later version.
    * This program is distributed in the hope that it will be useful,
    * but WITHOUT ANY WARRANTY; without even the implied warranty of
    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    * GNU General Public License for more details.
    * You should have received a copy of the GNU General Public License
    * along with this program; if not, write to the Free Software
    * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
    USA.
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.applet.*;
    import java.applet.Applet;
    import java.net.*;
    public class TeaTimerJApplet extends javax.swing.JApplet {
    /** Creates new form TeaTimerJApplet */
    public TeaTimerJApplet() {
    initComponents();
    /** This method is called from within the constructor to
    * initialize the form.
    * WARNING: Do NOT modify this code. The content of this method is
    * always regenerated by the Form Editor.
    private void initComponents() {//GEN-BEGIN:initComponents
    java.awt.GridBagConstraints gridBagConstraints;
    jListTeaSortSelect = new javax.swing.JList();
    jButtonTimerStart = new javax.swing.JButton();
    jProgressBar1 = new javax.swing.JProgressBar();
    getContentPane().setLayout(new java.awt.GridBagLayout());
    jListTeaSortSelect.setBorder(new
    javax.swing.border.TitledBorder("Select the tea type"));
    jListTeaSortSelect.setModel(new javax.swing.AbstractListModel() {
    String[] strings = { "Test................10sec.", "Green
    tea.........3min.", "Black tea...........4min.", "Black
    tea...........5min.", "Mint, Coffee......8min." };
    public int getSize() { return strings.length; }
    public Object getElementAt(int i) { return strings; }
    jListTeaSortSelect.setToolTipText("To stop the alarm just click
    over here.");
    jListTeaSortSelect.setName("jListTeaSort");
    jListTeaSortSelect.setSelectedIndex(2);
    jListTeaSortSelect.setSelectionBackground(java.awt.Color.yellow);
    jListTeaSortSelect.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
    jListTeaSortSelect.setAutoscrolls(false);
    jListTeaSortSelect.addMouseListener(new
    java.awt.event.MouseAdapter() {
    public void mousePressed(java.awt.event.MouseEvent evt) {
    jListTeaSortSelectMousePressed(evt);
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 0;
    gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
    getContentPane().add(jListTeaSortSelect, gridBagConstraints);
    jButtonTimerStart.setBackground(java.awt.Color.lightGray);
    jButtonTimerStart.setText("Start the timer");
    jButtonTimerStart.setToolTipText("<html>Visit me at
    www.kobylkin.net <br> Copyright Kobylkin Egor 2002 under GNU GPL</html>");
    jButtonTimerStart.setDoubleBuffered(true);
    jButtonTimerStart.setMaximumSize(new java.awt.Dimension(180, 90));
    jButtonTimerStart.setMinimumSize(new java.awt.Dimension(120, 27));
    jButtonTimerStart.setNextFocusableComponent(jListTeaSortSelect);
    jButtonTimerStart.setPreferredSize(new java.awt.Dimension(140,
    27));
    jButtonTimerStart.addActionListener(new
    java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    jButtonTimerStartActionPerformed(evt);
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 1;
    getContentPane().add(jButtonTimerStart, gridBagConstraints);
    jProgressBar1.setToolTipText("To stop the alarm signal just click
    over here.");
    jProgressBar1.setMinimumSize(new java.awt.Dimension(140, 14));
    jProgressBar1.setPreferredSize(new java.awt.Dimension(140, 14));
    jProgressBar1.addMouseListener(new java.awt.event.MouseAdapter() {
    public void mousePressed(java.awt.event.MouseEvent evt) {
    jProgressBar1MousePressed(evt);
    gridBagConstraints = new java.awt.GridBagConstraints();
    gridBagConstraints.gridx = 0;
    gridBagConstraints.gridy = 2;
    getContentPane().add(jProgressBar1, gridBagConstraints);
    }//GEN-END:initComponents
    private void jListTeaSortSelectMousePressed(java.awt.event.MouseEvent
    evt) {//GEN-FIRST:event_jListTeaSortSelectMousePressed
    // Add your handling code here:
    if ( timerIsRunningFlag == false )
    jListTeaSortSelect.setBackground(java.awt.Color.white);
    so.stop();
    }//GEN-LAST:event_jListTeaSortSelectMousePressed
    private void jProgressBar1MousePressed(java.awt.event.MouseEvent evt)
    if ( timerIsRunningFlag == false )
    jListTeaSortSelect.setBackground(java.awt.Color.white);
    so.stop();
    private void
    jButtonTimerStartActionPerformed(java.awt.event.ActionEvent evt)
    {//GEN-FIRST:event_jButtonTimerStartActionPerformed
    //set the controls in dumb state:
    jButtonTimerStart.setEnabled(false);
    jListTeaSortSelect.setEnabled(false);
    jListTeaSortSelect.setBackground(java.awt.Color.white);
    switch ( jListTeaSortSelect.getSelectedIndex() ) {
    case 0 : timerDelay = 500; break; //Test 10 sec.
    case 1 : timerDelay = 9000; break; //Green tea 3 min.
    case 2 : timerDelay = 12000; break; //Black tea 4 min.
    case 3 : timerDelay = 15000; break; //Black tea 5 min.
    case 4 : timerDelay = 24000; break; //Mint tea 8 min.
    // every "timerDelay/100" seconds the progress bar status will be
    set to be -5% less by timerTaskPerformer.
    // After 20 times timerDelay will be less than 5% so the
    timerTaskPerformer fires the alarm.
    timer = new javax.swing.Timer(timerDelay, timerTaskPerformer);
    timer.setRepeats(true);
    timer.start();
    timerIsRunningFlag = true;
    progressBarStatus = 100;
    jProgressBar1.setValue( progressBarStatus );
    jButtonTimerStart.setLabel("Timer started");
    so.stop();
    }//GEN-LAST:event_jButtonTimerStartActionPerformed
    private ActionListener timerTaskPerformer = new ActionListener() {
    public void actionPerformed(ActionEvent evt) {
    if (progressBarStatus > 5){ progressBarStatus-=5;
    jProgressBar1.setValue(progressBarStatus);
    }else{
    timer.stop();
    timerIsRunningFlag = false;
    //user alarm actions
    jListTeaSortSelect.setBackground (java.awt.Color.red);
    Toolkit.getDefaultToolkit().beep();
    so=getAudioClip(getCodeBase(), "spacemusic.au");
    so.loop();
    /* "Server not found" IE error.
    open pop-up explorer window to alert user
    try {
    AppletContext ac = getAppletContext();
    ac.showDocument( new URL( getCodeBase() +
    "teaReady.html" ), "_self");
    catch (MalformedURLException exc) {
    showStatus("Cannot find file teaReady.html");
    progressBarStatus = 0;
    jProgressBar1.setValue( progressBarStatus );
    //return to the initial state
    jButtonTimerStart.setText("Start the tea timer");
    jButtonTimerStart.setEnabled(true);
    jListTeaSortSelect.setEnabled(true);
    //Variables declaration
    private int progressBarStatus = 100;
    public boolean timerIsRunningFlag = false;
    public int timerDelay;
    private javax.swing.Timer timer;
    public AudioClip so;
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jButtonTimerStart;
    private javax.swing.JList jListTeaSortSelect;
    private javax.swing.JProgressBar jProgressBar1;
    // End of variables declaration//GEN-END:variables

    Hi
    What i understand from u'r problem is that when a jar is created and run under browser, ToolTipText for progress panel is not shown? is so is the case - i had no problems..
    The code given was compiled and created a jar successfully..
    this is how i created the jar..(under WindowsNT and MSIE)
    jar cf TeaTimer.jar TeaTimerJApplet.class
    TeaTimer.html
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    </HEAD>
    <BODY BGCOLOR="#FFFFFF">
    <APPLET CODE="TeaTimerJApplet" archive="TeaTimer.jar" WIDTH="200" HEIGHT="200">
    </APPLET>
    </BODY>
    </HTML>
    cheers
    Mohan

  • I need help with Applets and Multithreading

    [hello all.  first time poster. big fan of java.]
    now to the important matter: Applets and Threads
    =======================================
    1) I have an applet with that implements the runnable interface, and has one thread (and a simple animation). If I try to view this applet in the applet viewer with JGrasp, it spits an insane error telling me
    "java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThreadGroup)"
    but, if I run the applet through a web browser, by putting it in an html document, it runs correctly, without error
    What on earth is wrong, and how do I fix it?!?
    2) I want to put 2 threads in my applet?
    If I implement the Runnable interface, I can only have one Run() method in my applet, right?
    So how do I define behaviour for 2 threads when I only have one run method in which to define the behaviour? Can I use two threads with the runnable interface, or do I have to make objects of my own defined thread classes?
    3) I tried to make 2 threads in my applet by creating my own thread classes, and instantiating them in my applet (instead of implementing the runnable interface).
    I still get the same insane error as I mentioned in my first point (which I expected), except now, the applet won't work even when viewed through a web browser!!
    Please please help me. I am frustrated beyond belief (at what is probably a very simple problem)
    I have searched and searched all over and found no answers on this

    If I try to view this applet in the applet viewer with JGrasp, it spits an insane error telling me
    "java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThreadGroup)"Don't know anything about JGrasp, but it runs with pretty tight security - thats what this insane error is all about. Use the appletviewer or a browser.
    If I implement the Runnable interface, I can only have one Run() method in my applet, right?Correct
    So how do I define behaviour for 2 threads when I only have one run method in which to define the behaviour?
    Can I use two threads with the runnable interface, or do I have to make objects of my own defined thread classes?You can create two Runnable implementations (classes) in your applet.
    example (missing code)
    class MyApplet extends Applet {
      void doSomething() {
      void doSomethingElse() {
      void startThreads() {
        Thread t = new Thread(new Runnable() { public void run() { doSomething();}});
        t.start();
        t = new Thread(new Runnable2());
        t.start();
      class Runnable2 implements Runnable {
         public void run() {
           doSomethingElse();
    }If the above seems confusing, read up on anonymous and inner classes.
    3) I tried to make 2 threads in my applet by creating my own thread classesTry not subclassing thread - this causes a security check

Maybe you are looking for