Multiple MIDI Sequencers In Java Applet?

Hi all,
I'm working on a music applet and need to have multiple MIDI sequencers playing simultaneously. I have some test code and it works in my IDE (I'm using JGrasp) but when I try to open the applet in a web browser, it doesn't play the sequencers at the same time. It only plays one sequencer at a time and switches (seems to be random) back and forth between them instead of just letting them both play together. Is there any reason why two (or more) sequencers won't play together in an applet when they do in JGrasp? Is this just simply a limitation within applets or is there some kind of work around to fix this?
I know you can do different tracks/channels in a single sequencer, but I really need it to be separate sequencers playing simultaneously... Without getting into too much music/drum theory, I'm making a polyrhythm metronome and need to have different sequencers playing at different tempos (which you can't do with a single sequencer). If anyone has any ideas on how to get multiple sequencers to play nicely together in an applet that would be greatly appreciated.
Here is my sample program:
import java.util.*;
import javax.swing.*;
import javax.sound.midi.*;
public class MetronomeTestApplet extends JApplet
     public void init()
          MetronomeTest metTest = new MetronomeTest();
          metTest.play();
class MetronomeTest
     Sequencer sequencer1=null;
     Sequencer sequencer2=null;
     Sequence sequence1=null;
     Sequence sequence2=null;
     Track track1=null;
     Track track2=null;
     MidiEvent newEvent=null;
     int volume = 90;     
     int tempo     = 100;
     public MetronomeTest()
          try
          {     // SEQUENCER 1
               sequencer1 = MidiSystem.getSequencer();
               sequencer1.open();
               sequence1 = new Sequence(Sequence.PPQ, 16);
               track1 = sequence1.createTrack();
               ShortMessage instrumentMsg = new ShortMessage();
               instrumentMsg.setMessage(ShortMessage.PROGRAM_CHANGE, 0, 115, 0);          // 115 == woodblock
               track1.add(new MidiEvent(instrumentMsg, 0));
               // SEQUENCER 2
               sequencer2 = MidiSystem.getSequencer();
               sequencer2.open();
               sequence2 = new Sequence(Sequence.PPQ, 16);
               track2 = sequence2.createTrack();
               instrumentMsg = new ShortMessage();
               instrumentMsg.setMessage(ShortMessage.PROGRAM_CHANGE, 0, 117, 0);          // 117 == melodic tom
               track2.add(new MidiEvent(instrumentMsg, 0));
          catch (Exception e) { e.printStackTrace(); }
     public void destroy()
          sequencer1.stop();
          sequencer1.close();
          sequencer2.stop();
          sequencer2.close();
     public void play()
          try
               // LOAD SEQUENCE 1               
               for (int i=0; i<4; i++)
                    ShortMessage noteOnMsg = new ShortMessage();
                    noteOnMsg.setMessage(ShortMessage.NOTE_ON, 0, 60, volume);
                    track1.add(new MidiEvent(noteOnMsg, 0 + 16*i));
                    ShortMessage noteOffMsg = new ShortMessage();
                    noteOffMsg.setMessage(ShortMessage.NOTE_OFF, 0, 60, volume);
                    track1.add(new MidiEvent(noteOffMsg, 16 + 16*i));
               // LOAD SEQUENCE 2               
               for (int i=0; i<8; i++)
                    ShortMessage noteOnMsg = new ShortMessage();
                    noteOnMsg.setMessage(ShortMessage.NOTE_ON, 0, 60, volume);
                    track2.add(new MidiEvent(noteOnMsg, 0 + 8*i));
                    ShortMessage noteOffMsg = new ShortMessage();
                    noteOffMsg.setMessage(ShortMessage.NOTE_OFF, 0, 60, volume);
                    track2.add(new MidiEvent(noteOffMsg, 8 + 8*i));
               // LOAD AND START SEQUENCERS
               sequencer1.setSequence(sequence1);
               sequencer1.setTempoInBPM(tempo);
               sequencer1.setLoopCount(Sequencer.LOOP_CONTINUOUSLY);
               sequencer2.setSequence(sequence2);
               sequencer2.setTempoInBPM(tempo);
               sequencer2.setLoopCount(Sequencer.LOOP_CONTINUOUSLY);
               sequencer1.start();
               sequencer2.start();
          catch (Exception e) { e.printStackTrace(); }
}And the code for my html document:
<html>
<body>
<CENTER><applet code="MetronomeTestApplet.class" width="1000" height="700"></applet></CENTER>
</body>
</html>Thanks,
-tkr
Edited by: Tekker on Nov 21, 2010 5:45 PM

I just tried implementing the sequencers in their own threads but unfortunately it gives exactly the same results, where it works in JGrasp but not in the web browser.
Here's the threaded version:
import java.util.*;
import javax.swing.*;
import javax.sound.midi.*;
public class MetronomeTestApplet extends JApplet
     MetronomeTest metronome1;
     MetronomeTest metronome2;
     public void init()
          metronome1 = new MetronomeTest(50, 115);          // (tempo, instrument)          115 = woodblock
          metronome2 = new MetronomeTest(100, 117);          // (tempo, instrument)          117 = melodic tom     
          metronome1.start();
          metronome2.start();
     public void destroy()
          metronome1.close();
          metronome2.close();
class MetronomeTest extends Thread
     Sequencer sequencer=null;
     Sequence sequence=null;
     Track track=null;
     MidiEvent newEvent=null;
     int volume = 90;     
     int tempo = 100;
     public MetronomeTest(int tempo, int instrument)
          this.tempo = tempo;
          try
          {     sequencer = MidiSystem.getSequencer();
               sequencer.open();
               sequence = new Sequence(Sequence.PPQ, 16);
               track = sequence.createTrack();
               ShortMessage instrumentMsg = new ShortMessage();
               instrumentMsg.setMessage(ShortMessage.PROGRAM_CHANGE, 0, instrument, 0);
               track.add(new MidiEvent(instrumentMsg, 0));
          catch (Exception e) { e.printStackTrace(); }
     public void close()
          sequencer.stop();
          sequencer.close();
     public void run()
          try
          {     for (int i=0; i<4; i++)
               {     ShortMessage noteOnMsg = new ShortMessage();
                    noteOnMsg.setMessage(ShortMessage.NOTE_ON, 0, 60, volume);
                    track.add(new MidiEvent(noteOnMsg, 0 + 16*i));
                    ShortMessage noteOffMsg = new ShortMessage();
                    noteOffMsg.setMessage(ShortMessage.NOTE_OFF, 0, 60, volume);
                    track.add(new MidiEvent(noteOffMsg, 16 + 16*i));
               sequencer.setSequence(sequence);
               sequencer.setTempoInBPM(tempo);
               sequencer.setLoopCount(Sequencer.LOOP_CONTINUOUSLY);
               sequencer.start();
          catch (Exception e) { e.printStackTrace(); }
}If you have more things I can try, I'd greatly appreciate it. :)
Thanks,
-tkr

Similar Messages

  • Multiple Java Applets hangs when run on  Win 2000 Pro SP4

    I have a Java Applets which is used to connect to a remote element using server socket connections.
    When I launch mulitple applets to connect to different elements on Win XP with SP2 OS using IE6 SP2 it works fine.
    However ,the same I do in Win2K Pro SP4 with IE6 SP1 it doesn't work. In this case all the applets hung.
    Does Java applet has platform specific problem? Any pointers regarding this problem highly appreciated.
    TIA,...Sachin

    Does anyone know if there is any bug creating socket connection from Windows 2000 pc with Service Pack 4?
    Thanks in advance.
    Biju

  • Problem Launching Java Applet with Plug-in: Version 1.4.2_01

    Hello out there:
    I recently installed j2re-1.4.2_01 on my home computer but have been unable to access Web sites emmploying JAva applets. The following is an email exchange with Jeff Hall of Lowell Observatory, manager of an educational site hosted by Lowell, trying to resolve my problem. The messages are better understood if read in reverse order.
    I'm hoping that someone will recognize the source of my problem and can recommmend a solution. I would appreciate any help offered.
    Thanks,
    Mike Coucke
    Hi Jeff:
    Well, I guess the problem lies with me somewhere. Here's my answer/status to your questions/suggestions:
    1) I'm using MS Windows Me version 4.90.3000
    2) I do have the directory C:\Windows\.jpi_cache\jar\, but the only thing in it is an empty folder labeled "1.0". The file LP.jar does not exist anywhere on my hard drive.
    3) I tried several game sites that utilized Java applets and got the same results: the Java cup in the upper left corner followed a few seconds later by the red "X". So, evidently the problem is somewhere on my end.
    I'm going to post our email exchanges in a Java Users Forum managed by Sun to see if anyone out there can solve my problem. However, if you have any more suggestions, I'll be glad to try them.
    Thanks for the help.
    Mike Coucke
    [email protected]
    ----- Original Message -----
    From: "Jeffrey Hall" <[email protected]>
    To: "'Mike Coucke'" <[email protected]>
    Sent: Friday, September 05, 2003 1:02 PM
    Subject: RE: Registration with Lowell Education Online
    Mike,
    Rats! What version of Windows are you using? It's a little strange to
    see the user directory set to C:\Windows; if you're using XP, I'd expect
    it to be something like C:\Documents and Settings\Mike Coucke. In any
    event, the output that is of concern is these two lines:
    java.lang.ClassNotFoundException: LPRemote.class
    Caused by: java.net.UnknownHostException: proxy
    It looks like your browser is not finding our server's IP when it comes
    time to download the necessary Java code.
    LPRemote.class is the fundamental code that runs LOPARC, and your
    browser should be downloading it automatically when you click connect.
    LPRemote.class is stored along with a bunch of other classes in a file
    called "LP.jar" that you download from our server. So, if you go to C:
    in Windows Explorer and do a file search for LP.jar, you should find it.
    On my machine, it's stored in a directory called ".jpi_cache\jar\" in my
    user home directory. Let me know if you have this file, or the
    jpi-cache directory.
    One other thing you might try is going to a different site that you know
    uses Java applets -- I think some of the online game rooms at Yahoo use
    Java. See if other sites that use Java load correctly. Then we'll know
    if it's our server specifically, or a more general problem on your end.
    Jeff Hall
    Lowell Observatory
    Hello Jeff:
    I still have the Java "blues". I followed your instructions, but am still unable to launch a LOPARC session. After an initial failure, I uninstalled all three Java versions I had (1.4.0, 1.4.1, 1.4.2), then reinstalled 1.4.2_01 from the Sun website.
    Now, when I try to launch LOPARC, I initially get a blank window with the Java cup in the upper left corner. After about 20 seconds, the cup changes to a red "X". During those 20 seconds, the following appear in the IE message bar at the bottom of the window: "Applet LPRemote notinited" (their spelling) which changes to "Loading Java Applet Failed..." when the red "X" appears.
    Following is a copy of the log from my Java Console during all of this:
    Java(TM) Plug-in: Version 1.4.2_01
    Using JRE version 1.4.2_01 Java HotSpot(TM) Client VM
    User home directory = C:\WINDOWS
    Proxy Configuration: Manual Configuration
    Proxy: http=proxy,https=proxy,ftp=proxy,gopher=proxy
    Proxy Overrides:
    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
    o: trigger logging
    p: reload proxy configuration
    q: hide console
    r: reload policy configuration
    s: dump system properties
    t: dump thread list
    v: dump thread stack
    x: clear classloader cache
    0-5: set trace level to <n>
    load: class LPRemote.class not found.
    java.lang.ClassNotFoundException: LPRemote.class
    at sun.applet.AppletClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.applet.AppletClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.applet.AppletClassLoader.loadCode(Unknown Source)
    at sun.applet.AppletPanel.createApplet(Unknown Source)
    at sun.plugin.AppletViewer.createApplet(Unknown Source)
    at sun.applet.AppletPanel.runLoader(Unknown Source)
    at sun.applet.AppletPanel.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Caused by: java.net.UnknownHostException: proxy
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at sun.net.NetworkClient.doConnect(Unknown Source)
    at sun.plugin.net.protocol.http.HttpClient.doConnect(Unknown Source)
    at sun.net.www.http.HttpClient.openServer(Unknown Source)
    at sun.net.www.http.HttpClient$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.net.www.http.HttpClient.privilegedOpenServer(Unknown Source)
    at sun.net.www.http.HttpClient.openServer(Unknown Source)
    at sun.net.www.http.HttpClient.<init>(Unknown Source)
    at sun.net.www.http.HttpClient.<init>(Unknown Source)
    at sun.plugin.net.protocol.http.HttpClient.<init>(Unknown Source)
    at sun.plugin.net.protocol.http.HttpClient.New(Unknown Source)
    at sun.plugin.net.protocol.http.HttpURLConnection.createConnection(Unknown Source)
    at sun.plugin.net.protocol.http.HttpURLConnection.connect(Unknown Source)
    at sun.plugin.net.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at java.net.HttpURLConnection.getResponseCode(Unknown Source)
    at sun.applet.AppletClassLoader.getBytes(Unknown Source)
    at sun.applet.AppletClassLoader.access$100(Unknown Source)
    at sun.applet.AppletClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    ... 10 more
    I followed this up by executing the following three console commands:
    "dump system properties"
    "dump classholder list"
    "dump thread list"
    and obtained the following listings:
    Dump system properties ...
    acl.read = +
    acl.read.default =
    acl.write = +
    acl.write.default =
    application.home = C:\PROGRA~1\JAVA\J2RE14~1.2_0
    awt.toolkit = sun.awt.windows.WToolkit
    browser = sun.plugin
    browser.vendor = Sun Microsystems, Inc.
    browser.version = 1.1
    deployment.javaws.cache.dir = C:\WINDOWS\.javaws\cache
    deployment.javaws.jre.0.enabled = true
    deployment.javaws.jre.0.location = http://java.sun.com/products/autodl/j2se
    deployment.javaws.jre.0.osarch = x86
    deployment.javaws.jre.0.osname = Windows
    deployment.javaws.jre.0.path = C:\Program Files\Java\j2re1.4.2_01\bin\javaw.exe
    deployment.javaws.jre.0.platform = 1.4
    deployment.javaws.jre.0.product = 1.4.2_01
    deployment.javaws.jre.0.registered = true
    deployment.javaws.version = javaws-1.4.2_01
    deployment.system.cacerts = C:\PROGRA~1\JAVA\J2RE14~1.2_0\lib\security\cacerts
    deployment.system.home = C:\WINDOWS\Sun\Java\Deployment
    deployment.system.jssecacerts = C:\PROGRA~1\JAVA\J2RE14~1.2_0\lib\security\cacerts
    deployment.system.profile = C:\WINDOWS
    deployment.system.security.policy = file:/C:/WINDOWS/Sun/Java/Deployment/security/java.policy
    deployment.user.cachedir = C:\WINDOWS\Application Data\Sun\Java\Deployment\cache
    deployment.user.certs = C:\WINDOWS\Application Data\Sun\Java\Deployment\security\deployment.certs
    deployment.user.extdir = C:\WINDOWS\Application Data\Sun\Java\Deployment\ext
    deployment.user.home = C:\WINDOWS\Application Data\Sun\Java\Deployment
    deployment.user.jssecerts = C:\WINDOWS\Application Data\Sun\Java\Deployment\security\deployment.jssecerts
    deployment.user.logdir = C:\WINDOWS\Application Data\Sun\Java\Deployment\log
    deployment.user.profile = C:\WINDOWS\Application Data
    deployment.user.security.policy = file:/C:/WINDOWS/Application%20Data/Sun/Java/Deployment/security/java.policy
    deployment.user.tmpdir = C:\WINDOWS\Application Data\Sun\Java\Deployment\cache\tmp
    file.encoding = Cp1252
    file.encoding.pkg = sun.io
    file.separator = \
    file.separator.applet = true
    http.agent = Mozilla/4.0 (Windows Me 4.90)
    http.auth.serializeRequests = true
    https.protocols = SSLv3,SSLv2Hello
    java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
    java.awt.printerjob = sun.awt.windows.WPrinterJob
    java.class.path = C:\PROGRA~1\JAVA\J2RE14~1.2_0\classes
    java.class.version = 48.0
    java.class.version.applet = true
    java.endorsed.dirs = C:\PROGRAM FILES\JAVA\J2RE1.4.2_01\lib\endorsed
    java.ext.dirs = C:\PROGRAM FILES\JAVA\J2RE1.4.2_01\lib\ext
    java.home = C:\PROGRA~1\JAVA\J2RE14~1.2_0
    java.io.tmpdir = C:\WINDOWS\TEMP\
    java.library.path = D:\PROGRAM FILES\INTERNET EXPLORER 6;.;C:\WINDOWS\SYSTEM;C:\WINDOWS;D:\PROGRA~1\INTERN~1;;C:\WINDOWS;C:\WINDOWS\COMMAND
    java.protocol.handler.pkgs = sun.plugin.net.protocol|sun.plugin.net.protocol
    java.runtime.name = Java(TM) 2 Runtime Environment, Standard Edition
    java.runtime.version = 1.4.2_01-b06
    java.specification.name = Java Platform API Specification
    java.specification.vendor = Sun Microsystems Inc.
    java.specification.version = 1.4
    java.util.prefs.PreferencesFactory = java.util.prefs.WindowsPreferencesFactory
    java.vendor = Sun Microsystems Inc.
    java.vendor.applet = true
    java.vendor.url = http://java.sun.com/
    java.vendor.url.applet = true
    java.vendor.url.bug = http://java.sun.com/cgi-bin/bugreport.cgi
    java.version = 1.4.2_01
    java.version.applet = true
    java.vm.info = mixed mode
    java.vm.name = Java HotSpot(TM) Client VM
    java.vm.specification.name = Java Virtual Machine Specification
    java.vm.specification.vendor = Sun Microsystems Inc.
    java.vm.specification.version = 1.0
    java.vm.vendor = Sun Microsystems Inc.
    java.vm.version = 1.4.2_01-b06
    javaplugin.maxHeapSize = 96m
    javaplugin.nodotversion = 142_01
    javaplugin.proxy.config.list = http=proxy,https=proxy,ftp=proxy,gopher=proxy
    javaplugin.proxy.config.type = manual
    javaplugin.version = 1.4.2_01
    javaplugin.vm.options = -Djava.class.path=C:\PROGRA~1\JAVA\J2RE14~1.2_0\classes -Xbootclasspath/a:C:\PROGRA~1\JAVA\J2RE14~1.2_0\lib\plugin.jar -Xmx96m -Djavaplugin.maxHeapSize=96m -Xverify:remote -Djavaplugin.version=1.4.2_01 -Djavaplugin.nodotversion=142_01 -Dbrowser=sun.plugin -DtrustProxy=true -Dapplication.home=C:\PROGRA~1\JAVA\J2RE14~1.2_0 -Djava.protocol.handler.pkgs=sun.plugin.net.protocol
    line.separator = \r\n
    line.separator.applet = true
    os.arch = x86
    os.arch.applet = true
    os.name = Windows Me
    os.name.applet = true
    os.version = 4.90
    os.version.applet = true
    package.restrict.access.netscape = false
    package.restrict.access.sun = true
    package.restrict.definition.java = true
    package.restrict.definition.netscape = true
    package.restrict.definition.sun = true
    path.separator = ;
    path.separator.applet = true
    sun.arch.data.model = 32
    sun.boot.class.path = C:\PROGRAM FILES\JAVA\J2RE1.4.2_01\lib\rt.jar;C:\PROGRAM FILES\JAVA\J2RE1.4.2_01\lib\i18n.jar;C:\PROGRAM FILES\JAVA\J2RE1.4.2_01\lib\sunrsasign.jar;C:\PROGRAM FILES\JAVA\J2RE1.4.2_01\lib\jsse.jar;C:\PROGRAM FILES\JAVA\J2RE1.4.2_01\lib\jce.jar;C:\PROGRAM FILES\JAVA\J2RE1.4.2_01\lib\charsets.jar;C:\PROGRAM FILES\JAVA\J2RE1.4.2_01\classes;C:\PROGRA~1\JAVA\J2RE14~1.2_0\lib\plugin.jar
    sun.boot.library.path = C:\PROGRAM FILES\JAVA\J2RE1.4.2_01\bin
    sun.cpu.endian = little
    sun.cpu.isalist = pentium i486 i386
    sun.io.unicode.encoding = UnicodeLittle
    sun.java2d.fontpath =
    sun.net.client.defaultConnectTimeout = 120000
    sun.os.patch.level =
    trustProxy = true
    user.country = US
    user.dir = C:\WINDOWS\Desktop
    user.home = C:\WINDOWS
    user.language = en
    user.name = Michael G. Coucke
    user.timezone =
    user.variant =
    Done.
    Dump classloader list ...
    codebase=http://kraken.lowell.edu/, key=http://kraken.lowell.edu/,IONJava/classes/ion_16.jar,IONJava/classes/LP.jar, zombie=false, cache=true, refcount=1, info=sun.plugin.ClassLoaderInfo@109de5b
    Done.
    Dump thread list ...
    Group main,ac=11,agc=2,pri=10
    main,5,alive
    AWT-Windows,6,alive,dameon
    AWT-Shutdown,5,alive
    Java2D Disposer,10,alive,dameon
    AWT-EventQueue-0,6,alive
    Group Plugin Thread Group,ac=3,agc=0,pri=10
    Main Console Writer,6,alive
    AWT-EventQueue-1,6,alive
    TimerQueue,5,alive,dameon
    Group http://kraken.lowell.edu/-threadGroup,ac=2,agc=0,pri=4
    thread applet-LPRemote.class,4,alive
    AWT-EventQueue-2,4,alive
    Done.
    I'm not a Java expert, so this may be more information than you ever wanted to see.
    Once again, I hope that you can help. My experience has been that I usually have some obscure option set incorrectly and that causes me great grief.
    Thanks fo your help,
    Mike Coucke
    [email protected]
    ----- Original Message -----
    From: "Jeffrey Hall" <[email protected]>
    To: "'Mike Coucke'" <[email protected]>
    Sent: Thursday, September 04, 2003 11:48 AM
    Subject: RE: Registration with Lowell Education Online
    Hi Mike,
    Try it now. I think this problem has arisen because Sun just
    released a new version of the Plug-in (1.4.2), and when we released the
    public beta of LOPARC, only one relevant version (1.4.0) was available
    and the LOPARC code was written to look for that by default. I have
    just recoded the relevant routines so they should now cause your browser
    to simply pick up the latest 1.4 version of the Plug-in you have
    installed, whatever it is. I "broke" Java on my machine to replicate
    your problem, and the code I inserted today did fix it. Hopefully it
    will have the same effect for you. I am running IE 6 and plugin
    1.4.2_01 (as accessed via Tools->Sun Java Console).
    One broader problem: some (non-LOPARC-specific) users on the Sun
    forums have reported the "JRE collision" you are seeing when multiple
    versions of the Plug-in are installed on the same machine. So if the
    fix I made to our code doesn't work, one option would be to uninstall
    all Java components from your computer and do a fresh install of the
    latest runtime environment.
    Let me know how/if this works. Thanks for the feedback and for your
    patience.
    Best regards,
    Jeff Hall
    Lowell Observatory
    -----Original Message-----
    From: Mike Coucke [mailto:[email protected]]
    Sent: Wednesday, September 03, 2003 6:30 PM
    To: [email protected]
    Subject: Re: Registration with Lowell Education Online
    Hello Jeff:
    So far, I have been unable to launch a LOPARC session. I repeatedly
    get the following error message:
    "Exception: java.lang.ClassNotFoundException: LPRemote.class"
    My browser is MS Internet Explorer version 6.0.2800.1106 Initially I was
    using Java Plug-In version 1.4.1 and received the error message. I went
    to the Sun website and downloaded/installed Java Plug-In version 1.4.2
    and still get the message.
    Before I try to launch LOPARC, I can select Tools->Sun Java Console from
    IE's pull down menu to check my Java Plug-In version. When I try to
    launch LOPARC, I get the following message:
    "Applet(s) in this HTML page requires a version of Java different from
    the one the browser is currently using. In order to run the applet(s)
    in this HTML page, a new browser session is required, press 'Yes' to
    start a new browser session." If I select 'No', I get the following
    message: "Java Plug-in detected JRE collission"
    If I select 'Yes', a new browser window opens and then I get the first
    message above.
    Can you help?
    Mike Coucke
    [email protected]
    ----- Original Message -----
    From: <[email protected]>
    To: <[email protected]>
    Sent: Monday, September 01, 2003 5:30 PM
    Subject: Registration with Lowell Education Online
    September 1, 2003
    Dear Michael Coucke:
    Thank you for registering with Lowell Observatory's online education
    site. We hope you enjoy using it and visit regularly as we continue to
    expand its features and capabilities. This is a one-time welcoming
    email.
    For your records, your user ID is xxxxx, and your password is #########.
    You'll need to supply these each time you log in.
    This site gives you access to research-grade equipment including a 16"
    telescope, CCD detector, and image processing software. Our online
    archive of data is now available 24/7. The telescope will be opening to
    our onsite users in May, and on select nights to the Internet at large
    in June.
    We have designed this site so you don't need a huge monitor or a
    supercomputer to use it. All pages are viewable on screens running at
    800x600 resolution or higher. To use LOPARC, you'll need a Java-enabled
    browser with the Java 1.4 plug-in installed. If you don't have the
    plug-in, you'll be prompted to download it the first time you attempt to
    connect. This is an admittedly large (9 MB) but one-time-only download.
    This site works correctly under Internet Explorer version 5 or higher.
    If you use Netscape, you must be running version 6 or higher, and
    display or applet behavior anomalies may occur.
    If at any time you can't connect to our server, simply try again later.
    We do experience several power outages each year, particularly during
    Flagstaff's summer thunderstorm season. Our server is fully protected
    and backed up, and can be quickly brought back on line, but any active
    user sessions will be lost. Thanks for your patience during these
    inevitable downtimes.
    Your questions, comments, suggestions, and bug reports about this site
    are always welcome. On behalf of the LOPARC development team, thanks
    for signing up!
    Jeffrey Hall
    Assistant Research Scientist
    Associate Director, Education and Special Programs
    Lowell Observatory
    Flagstaff, Arizona

    Hi Mike,
    I see this in your logs:
    Java(TM) Plug-in: Version 1.4.2_01
    Using JRE version 1.4.2_01 Java HotSpot(TM) Client VM
    User home directory = C:\WINDOWS
    Proxy Configuration: Manual Configuration
    Proxy: http=proxy,https=proxy,ftp=proxy,gopher=proxy
    Proxy Overrides:
    I just helped my Dad set up his computer with a new
    cable modem, and had the situation where we couldn't
    access any secure Web sites. The cable folks had us
    disable the proxy. It looks like the error message is
    saying it can't find your proxy server, and the logs
    you posted say that you've decided to configure your
    proxy manually, rather than using the settings from
    IE (which is how mine is set up in the plugin
    control panel.)
    Could that be the problem?
    --Steve                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Java Control Panel wont open at all and any Java Applets crash web browsers

    Hello,
    I recently installed a fresh fully updated copy of Windows 7 Home Premium 64 bit, and I have not for the life of me been able to get Java working at all. Java version is the latest JRE 6U31. I only have Internet Explorer 9 installed but I doubt it is a browser issue since I cannot even open the Java control panel. I have tried using the 32 bit version of Java, and the 64 bit. Anytime I try to open the Java control panel with either 32 bit or 64 bit, I get an error message (click link below to view error message):
    http://i65.photobucket.com/albums/h204/gobigjeff/Java%20Error/javaerror.png
    I can only bring up the Java Control Panel using the command “javaws –viewer” . Anytime I try to load a web page with a Java applet in either 64 bit or 32 bit, it freezes and crashes. I am running Internet Explorer 9 and have tried both the 32 bit and 64 bit browser versions. I saw Java’s recommendation to only use the 32 bit version so I have mainly been trying to get the 32 bit version working 1st, with no success. I have tried ALL of the following steps, and have done some exhaustive research on this problem. It seems others have had this issue as well, with no solution to be found:
    •     Uninstalled and reinstalled only Java 32 bit JRE 6u31 multiple times (Used Javara and reg cleaner to remove all old Java traces)
    •     Uninstalled and reinstalled only Java 64 bit JRE 6u31 (Used Javara and reg cleaner to remove all old Java traces)
    •     Uninstalled and reinstalled bit JRE 7 (Used Javara and reg cleaner to remove all old Java traces)
    •     Used SFC /scannow in safe mode to verify Windows files
    •     Ran spyware and virus scan with no issues detected
    •     Added all java processes to windows firewall
    I am out of solutions here. If anyone has had this problem with Java or knows what I need to do to fix the problem your advice would be greatly appreciated. I don’t think reinstalling windows is the solution because this is a fresh install.
    Edited by: 918650 on Mar 4, 2012 1:16 PM

    I figured it out. I changed the installation folder to C:/Java and it finally worked!

  • COMMUNICATION BETWEEN JAVASCRIPT AND JAVA APPLET: US$20 AWARD FOR SOLUTION!

    COMMUNICATION BETWEEN JAVASCRIPT AND JAVA APPLET PROBLEM (Easy Filter Java Applet) -
    US$20 TO ANYONE WHO CAN RESOLVE THE PROBLEM
    To forum visitors:
    I am prepared to pay a standard shareware fee of US$20 to a user who can resolve this technical problem.
    If your advice resolves the problem, I'll forward the payment to your postal address (include your
    address with your reply, and also your email address)
    I am attempting to enable a HTML button (using Javascript's onClick command) to directly input a number into one of the parameter text boxes in the Easy Filter Java applet (ie, enter a new color value number in the text field of the standard Colors Multiplicator Filter interface).
    The applet is Freeware and can be downloaded at: http://www.javazoom.net/applets/easyfilter10/EasyFilter10.html
    (It is a very effective bitmap display and editing utility)
    To achieve this, I am trying to access the part of the applet that defines and sets the textbox. The text box is defined in the .class file by accessing the parameter details in the genericfilter.txt file (accompanies the .class files). I need to access 'private String appletInitialize()' and then one of the 'textFieldParameters' which sets the textbox.
    I understand the basic syntax for referencing the applet:
    document.appletname.setString("An example"). However, accessing the text fields in this applet is more complex!!
    Please can you recommend the correct Javascript syntax to achieve communication with the applet.
    Thank you for your kind assistance.
    JM Graham
    [email protected]
    The Java source code for the applet: EasyFilter.class
    # Easy Filter - E.B/JavaZOOM 1999 #
    # Contact: [email protected] #
    # http://javazoom.hypermart.net #
    /* Originally compiled from EasyFilter.java */
    import java.awt.*;
    import java.io.*;
    import java.net.*;
    import java.applet.Applet;
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
    import java.awt.image.MemoryImageSource;
    import java.awt.image.PixelGrabber;
    import java.util.Vector;
    public synchronized class EasyFilter extends Applet implements KeyListener
    private String paramFileName;
    private Color bgColor;
    private Color fgColor;
    private Color parColor;
    private Color sepColor;
    private Color titleColor;
    private Color helpColor;
    private int WinWidth;
    private int WinHeight;
    private String title;
    private String logoFileName;
    private String originalImageFileName;
    private String filteredCaption;
    private String originalCaption;
    private Vector paramsName;
    private Vector paramsValue;
    private Vector paramsComment;
    private Panel panelParameters[];
    private Label labelParameters[];
    private TextField textFieldParameters[];
    private Label labelComments[];
    private int nbParameters;
    private ScrollPane scrollPaneParams;
    private Panel panelParams;
    private Image theLogo;
    private Image theOriginalImage;
    private Image theFilteredImage;
    private int theOriginalPixelArray[];
    private int logoWidth;
    private int logoHeight;
    private int imageWidth;
    private int imageHeight;
    private drawCanvas canvasTitle;
    private Panel panelTitle;
    private Label labelTitle;
    private Panel panelImages;
    private Panel panelOriginalImage;
    private drawCanvas canvasOriginalImage;
    private Label labelOriginalImage;
    private Panel panelFilteredImage;
    private drawCanvas canvasFilteredImage;
    private Label labelFilteredImage;
    private Panel panelHelp;
    private Label labelHelp;
    private int Yspc;
    private FilterImplementation theFilter;
    public void init()
    String string = null;
    string = appletInitialize();
    setBackground(bgColor);
    if (string != null)
    removeAll();
    setBackground(Color.white);
    setForeground(Color.black);
    Label label = new Label(new StringBuffer("Error: ").append(string).toString(), 1);
    Panel panel = new Panel();
    panel.add(label);
    add(panel);
    setLayout(new FlowLayout(1, 5, Yspc));
    public void keyPressed(KeyEvent keyEvent)
    panelHelp.removeAll();
    boolean flag = true;
    if (KeyEvent.getKeyText(keyEvent.getKeyCode()).equals("Enter"))
    for (int i = 0; i < nbParameters; )
    try
    paramsValue.setElementAt(new Double(textFieldParameters.getText()), i);
    i++;
    catch (NumberFormatException e)
    labelHelp.setText(labelParameters[i].getText() + ": Not a Number");
    flag = false;
    break;
    if (flag == 1)
    labelHelp.setText(" .... Running, please wait .... ");
    labelHelp.setAlignment(1);
    panelHelp.add(labelHelp);
    panelHelp.doLayout();
    theFilter.updateParameters(paramsValue);
    theFilter.computeFilter();
    theFilteredImage = createImage(new MemoryImageSource(theFilter.getFinalImageWidth(), theFilter.getFinalImageHeight(), theFilter.getFinalImageBuffer(), 0, theFilter.getFinalImageWidth()));
    canvasFilteredImage.setImage(theFilteredImage);
    canvasFilteredImage.setBounds(0, 0, theFilter.getFinalImageWidth(), theFilter.getFinalImageHeight());
    canvasFilteredImage.repaint();
    panelHelp.removeAll();
    labelHelp.setText("- Done -");
    else
    labelHelp.setText("- Press Enter to run the Filter -");
    labelHelp.setAlignment(1);
    panelHelp.add(labelHelp);
    panelHelp.doLayout();
    public void keyReleased(KeyEvent keyEvent)
    public void keyTyped(KeyEvent keyEvent)
    private String appletInitialize()
    WinWidth = size().width;
    WinHeight = size().height;
    if (getParameter("bgcolor") == null)
    bgColor = new Color(0, 0, 40);
    else
    bgColor = new Color(Integer.parseInt(getParameter("bgcolor"), 16));
    if (getParameter("fgcolor") == null)
    fgColor = new Color(255, 255, 255);
    else
    fgColor = new Color(Integer.parseInt(getParameter("fgcolor"), 16));
    if (getParameter("sepcolor") == null)
    sepColor = new Color(158, 128, 128);
    else
    sepColor = new Color(Integer.parseInt(getParameter("sepcolor"), 16));
    if (getParameter("parcolor") == null)
    parColor = new Color(24, 24, 24);
    else
    parColor = new Color(Integer.parseInt(getParameter("parcolor"), 16));
    if (getParameter("titlecolor") == null)
    titleColor = new Color(255, 255, 0);
    else
    titleColor = new Color(Integer.parseInt(getParameter("titlecolor"), 16));
    if (getParameter("helpcolor") == null)
    helpColor = new Color(0, 255, 255);
    else
    helpColor = new Color(Integer.parseInt(getParameter("helpcolor"), 16));
    paramsName = new Vector();
    paramsValue = new Vector();
    paramsComment = new Vector();
    paramFileName = getParameter("paramfile");
    String string = readParams(paramFileName);
    if (string != null)
    return string;
    MediaTracker mediaTracker = new MediaTracker(this);
    theOriginalImage = getImage(getDocumentBase(), originalImageFileName);
    mediaTracker.addImage(theOriginalImage, 0);
    if (logoFileName != null)
    theLogo = getImage(getDocumentBase(), logoFileName);
    mediaTracker.addImage(theLogo, 1);
    try
    mediaTracker.waitForAll();
    catch (InterruptedException e1)
    return "Error while loading image";
    if (mediaTracker.isErrorAny())
    return "Error while loading image";
    if (logoFileName != null)
    logoWidth = theLogo.getWidth(this);
    logoHeight = theLogo.getHeight(this);
    imageWidth = theOriginalImage.getWidth(this);
    imageHeight = theOriginalImage.getHeight(this);
    theOriginalPixelArray = new int[imageWidth * imageHeight];
    PixelGrabber pixelGrabber = new PixelGrabber(theOriginalImage, 0, 0, imageWidth, imageHeight, theOriginalPixelArray, 0, imageWidth);
    try
    pixelGrabber.grabPixels();
    panelTitle = new Panel();
    canvasTitle = new drawCanvas();
    labelTitle = new Label();
    panelTitle.setLayout(new FlowLayout(1, 10, Yspc));
    add(panelTitle);
    panelTitle.setBackground(bgColor);
    panelTitle.add(canvasTitle);
    canvasTitle.setImage(theLogo);
    canvasTitle.setBounds(0, 0, logoWidth, logoHeight);
    labelTitle.setText(title);
    catch (InterruptedException e2)
    return "Internal Error, Try RELOAD !";
    if (title != null)
    panelTitle.add(labelTitle);
    labelTitle.setForeground(titleColor);
    labelTitle.setFont(new Font("Dialog", 1, 14));
    panelImages = new Panel();
    panelOriginalImage = new Panel();
    canvasOriginalImage = new drawCanvas();
    labelOriginalImage = new Label();
    panelFilteredImage = new Panel();
    canvasFilteredImage = new drawCanvas();
    labelFilteredImage = new Label();
    panelImages.setLayout(new FlowLayout(1, 10, Yspc));
    add(panelImages);
    panelImages.setBackground(bgColor);
    panelOriginalImage.setLayout(new BorderLayout(0, 2));
    panelImages.add(panelOriginalImage);
    panelOriginalImage.setBackground(Color.black);
    panelOriginalImage.add("Center", canvasOriginalImage);
    canvasOriginalImage.setImage(theOriginalImage);
    canvasOriginalImage.setBounds(0, 0, imageWidth, imageHeight);
    labelOriginalImage.setText(originalCaption);
    labelOriginalImage.setAlignment(1);
    panelOriginalImage.add("South", labelOriginalImage);
    labelOriginalImage.setBackground(Color.lightGray);
    labelOriginalImage.setForeground(Color.black);
    labelOriginalImage.setFont(new Font("SansSerif", 0, 10));
    panelFilteredImage.setLayout(new BorderLayout(0, 2));
    panelImages.add(panelFilteredImage);
    panelFilteredImage.setBackground(Color.black);
    panelFilteredImage.add("Center", canvasFilteredImage);
    theFilter = new FilterImplementation(paramsValue, theOriginalPixelArray, imageWidth, imageHeight);
    theFilter.computeFilter();
    theFilteredImage = createImage(new MemoryImageSource(theFilter.getFinalImageWidth(), theFilter.getFinalImageHeight(), theFilter.getFinalImageBuffer(), 0, theFilter.getFinalImageWidth()));
    canvasFilteredImage.setImage(theFilteredImage);
    canvasFilteredImage.setBounds(0, 0, theFilter.getFinalImageWidth(), theFilter.getFinalImageHeight());
    labelFilteredImage.setText(filteredCaption);
    labelFilteredImage.setAlignment(1);
    panelFilteredImage.add("South", labelFilteredImage);
    labelFilteredImage.setBackground(Color.lightGray);
    labelFilteredImage.setFont(new Font("SansSerif", 0, 10));
    scrollPaneParams = new ScrollPane(0);
    panelParams = new Panel();
    nbParameters = paramsName.size();
    int i = WinHeight - (33 + 7 * Yspc + logoHeight + imageHeight + 23);
    if (i < Yspc + 2 + 24)
    i = Yspc + 2 + 24;
    scrollPaneParams.setBounds(0, 0, WinWidth - 10, i);
    panelParams.setLayout(new GridLayout(nbParameters, 1, 5, Yspc / 2));
    scrollPaneParams.add(panelParams);
    panelParams.setBackground(sepColor);
    panelParameters = new Panel[nbParameters];
    labelParameters = new Label[nbParameters];
    textFieldParameters = new TextField[nbParameters];
    labelComments = new Label[nbParameters];
    for (int j = 0; j < nbParameters; j++)
    panelParameters[j] = new Panel();
    panelParameters[j].setLayout(new FlowLayout(0, 5, 1));
    panelParams.add(panelParameters[j]);
    panelParameters[j].setBackground(parColor);
    labelParameters[j] = new Label();
    labelParameters[j].setText((String)paramsName.elementAt(j));
    panelParameters[j].add(labelParameters[j]);
    labelParameters[j].setForeground(fgColor);
    labelParameters[j].setFont(new Font("Dialog", 1, 12));
    textFieldParameters[j] = new TextField(8);
    textFieldParameters[j].setText(paramsValue.elementAt(j).toString());
    panelParameters[j].add(textFieldParameters[j]);
    textFieldParameters[j].setBackground(fgColor);
    textFieldParameters[j].addKeyListener(this);
    labelComments[j] = new Label();
    labelComments[j].setText((String)paramsComment.elementAt(j));
    panelParameters[j].add(labelComments[j]);
    labelComments[j].setForeground(fgColor);
    add(scrollPaneParams);
    panelHelp = new Panel();
    labelHelp = new Label();
    panelHelp.setLayout(new FlowLayout(1, 5, 0));
    add(panelHelp);
    panelHelp.setBackground(bgColor);
    labelHelp.setText(" Change colour values and press enter ");
    labelHelp.setAlignment(1);
    panelHelp.add(labelHelp);
    labelHelp.setForeground(helpColor);
    return null;
    private String readParams(String string1)
    Object object1;
    String string2;
    if (string1 == null)
    return "Filename of filter's parameters needed";
    try
    URL uRL = new URL(getDocumentBase(), string1);
    URLConnection uRLConnection = uRL.openConnection();
    uRLConnection.setDoInput(true);
    uRLConnection.setUseCaches(false);
    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(uRLConnection.getInputStream()));
    string2 = null;
    catch ()
    return object1.getMessage();
    catch ()
    return object1.getMessage();
    catch ()
    return object1.getMessage();
    if (bufferedReader != null)
    Object object2;
    try
    for (object2 = bufferedReader.readLine(); object2 != null && string2 == null; object2 = bufferedReader.readLine())
    string2 = extractFormat(object2);
    catch ()
    string2 = object2.getMessage();
    finally
    bufferedReader.close();
    if (string2 != null)
    return string2;
    else
    return null;
    private String extractFormat(String string1)
    if (string1.length() == 0)
    return null;
    int i = 0;
    int j = string1.indexOf(" ", i);
    if (j == -1)
    return "Bad format error (space missing)";
    String string2 = string1.substring(i, j);
    if (string2.equals("TITLE"))
    i = j;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format (Double quote in TITLE missing)";
    i = j + 1;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format (Double quote in TITLE missing)";
    title = string1.substring(i, j);
    return null;
    if (string2.equals("ORIGINALCAPTION"))
    i = j;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format (Double quote in ORIGINALCAPTION missing)";
    i = j + 1;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format (Double quote in ORIGINALCAPTION missing)";
    originalCaption = string1.substring(i, j);
    return null;
    if (string2.equals("FILTEREDCAPTION"))
    i = j;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format (Double quote in FILTEREDCAPTION missing)";
    i = j + 1;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format (Double quote in FILTEREDCAPTION missing)";
    filteredCaption = string1.substring(i, j);
    return null;
    if (string2.equals("LOGO"))
    i = j + 1;
    j = string1.length();
    logoFileName = string1.substring(i, j);
    return null;
    if (string2.equals("ORIGINALIMAGE"))
    i = j + 1;
    j = string1.length();
    originalImageFileName = string1.substring(i, j);
    return null;
    if (!string2.equals("PARAM"))
    return null;
    i = j;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format in a PARAM line";
    i = j + 1;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format in a PARAM line";
    paramsName.addElement(string1.substring(i, j));
    i = j + 2;
    j = string1.indexOf(32, i);
    if (j == -1)
    return "Bad format in a PARAM line";
    try
    paramsValue.addElement(new Double(string1.substring(i, j)));
    j = string1.indexOf(34, i);
    catch (NumberFormatException e)
    return "Bad format in a PARAM line";
    if (j == -1)
    return "Bad format (Double quote in PARAM comment missing)";
    i = j + 1;
    j = string1.indexOf(34, i);
    if (j == -1)
    return "Bad format (Double quote in PARAM comment missing)";
    paramsComment.addElement(string1.substring(i, j));
    return null;
    public EasyFilter()
    logoHeight = 33;
    Yspc = 5;

    Addition to my above submission
    To clarify, I'll offer the US$20 to the FIRST person who offers me a workable solution to the problem, not to everyone!!!
    JMGRAHAM

  • Java Applet IIOP Call-In with Release 3C--How do we speed updownload ti

    We have successfully implemented a simple Java Applet that calls into
    Forte Services via IIOP. However, the duration of the download time for
    Applet and its required class files is UNACCEPTABLE in a typical
    INTERNET environment where 28.8K modems and multiple hops around the net
    are not uncommon. We dialed into our network at 28.8K (but no hopping),
    and found that download times varied from 1.5 - 2.0 minutes. This is
    unacceptable, even by internet standards. We have been using the
    Visigenic Visibroker product as the ORB.
    After doing some investigation, we've come up with several ideas to
    speed up download time:
    1. Figure out how to use the Visigenic components (CORBA/IIOP class
    files) that come bundled with the latest version of the Netscape
    Navigator browser, so that they don't have to be downloaded
    2. Figure out how to use ZIP files. Here's what I've read: "Since the
    introduction of Netscape Navigator 3.0, you can specify an uncompressed
    .zip file as an addition to the code base of your application. By
    specifying a ZIP file, the browser will load your applet's classes from
    a specified ZIP file before it searches the code base. This ZIP can
    improve applet download time by reducing the number of HTTP connections
    required to fetch applet code. As an added benefit, Netscape caches the
    single ZIP file so that it will not reload your applet unless the date
    of the ZIP file has changed."
    3. Figure out how to use JAR files. Here's what I've read: "JAR
    stands for Java archive. It's a file format based on the popular ZIP
    file format and is used for aggregating many files into one. Although
    JAR can be used as a general archiving tool, the primary motivation for
    its development was so that Java applets and their requisite components
    can be downloaded to a browser in a single HTTP transaction, rather than
    opening a new connection for each piece. This greatly improves the
    speed with which an applet can be loaded onto a web page and begin
    functioning. The JAR format also supports compression, which reduces the
    size of the file and improves download time still further."
    Unfortunately, we've been unable to get any of these approaches to work.
    Has any one used these or other approaches to speed up applet download
    time? Or, does anyone know of consulting firms that specialize in this
    sort of thing?
    Thanks in advance for your help.
    Mike Nelson, Project Leader
    Metrix, Inc.
    [email protected]
    414-798-8560 x1157

    We have successfully implemented a simple Java Applet that calls into
    Forte Services via IIOP. However, the duration of the download time for
    Applet and its required class files is UNACCEPTABLE in a typical
    INTERNET environment where 28.8K modems and multiple hops around the net
    are not uncommon. We dialed into our network at 28.8K (but no hopping),
    and found that download times varied from 1.5 - 2.0 minutes. This is
    unacceptable, even by internet standards. We have been using the
    Visigenic Visibroker product as the ORB.
    After doing some investigation, we've come up with several ideas to
    speed up download time:
    1. Figure out how to use the Visigenic components (CORBA/IIOP class
    files) that come bundled with the latest version of the Netscape
    Navigator browser, so that they don't have to be downloaded
    2. Figure out how to use ZIP files. Here's what I've read: "Since the
    introduction of Netscape Navigator 3.0, you can specify an uncompressed
    .zip file as an addition to the code base of your application. By
    specifying a ZIP file, the browser will load your applet's classes from
    a specified ZIP file before it searches the code base. This ZIP can
    improve applet download time by reducing the number of HTTP connections
    required to fetch applet code. As an added benefit, Netscape caches the
    single ZIP file so that it will not reload your applet unless the date
    of the ZIP file has changed."
    3. Figure out how to use JAR files. Here's what I've read: "JAR
    stands for Java archive. It's a file format based on the popular ZIP
    file format and is used for aggregating many files into one. Although
    JAR can be used as a general archiving tool, the primary motivation for
    its development was so that Java applets and their requisite components
    can be downloaded to a browser in a single HTTP transaction, rather than
    opening a new connection for each piece. This greatly improves the
    speed with which an applet can be loaded onto a web page and begin
    functioning. The JAR format also supports compression, which reduces the
    size of the file and improves download time still further."
    Unfortunately, we've been unable to get any of these approaches to work.
    Has any one used these or other approaches to speed up applet download
    time? Or, does anyone know of consulting firms that specialize in this
    sort of thing?
    Thanks in advance for your help.
    Mike Nelson, Project Leader
    Metrix, Inc.
    [email protected]
    414-798-8560 x1157

  • Safari for Mac, webpage with Java applet, drag and drop area not working.

    At my company, we have a web page that our users access to submit media files, (QuickTime, Audio, images...), for transcoding for delivery.  The web page consists of a java applet, with an area that our users drag and drop media file into.
    After updating to Safari 5.1.2, the applet will not work anymore. Instead, the browser will "open" the quicktime and play it, instead of allowing the Java Applet to do it's job.
    CAN I TURN THIS FUNCTIONALITY OFF??
    I read that Safari 5.1.2, (when it was initially released), broke something with the THEN current version of Java, and everyone was awaiting the latest update (build 1.6.0_29) to fix it. Unfortunately, this update did not fix my issue with the functionality of dragging and dropping media files into the web page.
    It seems to me, as if, there is an over-arching functionality setting (or something) that needs to be either turned off, or in some other way DE-prioritized.
    Anyone have any ideas?
    Safari 5.1.2
    MacOS 10.6.8
    MacBook Pro

    Thanks for quick reply and help. I am able to drag multiple files but this is giving problem in case of filename with spaces like "abc def.png". Can you please put some thoughts on this.
    DataFlavor uriListFlavor = new DataFlavor("text/uri-list;class=java.lang.String");
                   Reader in = (Reader)t.getTransferData(DataFlavor.plainTextFlavor);
                   BufferedReader br = new BufferedReader(in);
                   String uriStr;
                   while ((uriStr = br.readLine()) != null)
                       URL url = new URL(uriStr);
                       String category = GalleryUtils.contentsPanel.getCurrentCategoryPath();
                       GalleryUtils.generateILPFromFile(new File(url.getFile()), category);
                   }Thanks
    Kanni

  • Re: [Fwd: Java Applet IIOP Call-In with Release 3C--How dowe speed up d

    Hi Michael,
    We have done exactly what you describe and have avoided the slow applet
    download times. Although it can be a bit tricky, it is possible to use
    the ORB bundled inside the Netscape 4.0 browser (Visibroker for Java by
    Visigenic). Most of the code should follow Netscape's examples (on
    http://developer.netscape.com)--just remember to initialize the ORB by
    passing a reference to the current applet in orb_init() (so that you
    invoke something like orb_init(this) [assuming you are extending
    java.applet.Applet]). Pulling up the Java console within your web
    browser should help debug quite a bit (a lot of debug messages will get
    printed there the ORB is having problems).
    Netscape has just implemented the applet caching schemes you describe,
    so it probably shouldn't matter too much if you use another vendor's
    ORB (we've done this with Iona's OrbixWeb). If you use ZIP files, they
    have to be uncompressed, and I don't think that the browser will cache
    them between browser sessions. Netscape 4.0 does seem to handle
    compressed JAR files just fine and it does indeed cache them between
    browser sessions. I'd go with the JAR format anyway since the ZIP
    bundling was just a workaround until Sun got their act together in the
    1.1 JDK.
    By the way, you also might want to take advantage of the code-signing
    and capabilities APIs of Netscape if you are going to invoke methods on
    objects not resident on your web server. Otherwise, you will probably
    run into the (in)famous browser applet security restrictions and you may
    have other problems doing things like callbacks from Forte, etc.
    If you want more detail on how it works, let me know and I can post some
    examples.
    Oh, one last thing: we are a consulting firm specializing in these kinds
    of things :)
    Bill
    Subject: Java Applet IIOP Call-In with Release 3C--How do we speed up download time.
    Date: Wed, 2 Jul 1997 09:10:31 -0500
    From: Michael Nelson <[email protected]>
    To: "'[email protected]'" <[email protected]>
    We have successfully implemented a simple Java Applet that calls into
    Forte Services via IIOP. However, the duration of the download time
    for
    Applet and its required class files is UNACCEPTABLE in a typical
    INTERNET environment where 28.8K modems and multiple hops around the
    net
    are not uncommon. We dialed into our network at 28.8K (but no
    hopping),
    and found that download times varied from 1.5 - 2.0 minutes. This is
    unacceptable, even by internet standards. We have been using the
    Visigenic Visibroker product as the ORB.
    After doing some investigation, we've come up with several ideas to
    speed up download time:
    1. Figure out how to use the Visigenic components (CORBA/IIOP class
    files) that come bundled with the latest version of the Netscape
    Navigator browser, so that they don't have to be downloaded
    2. Figure out how to use ZIP files. Here's what I've read: "Since
    the
    introduction of Netscape Navigator 3.0, you can specify an
    uncompressed
    .zip file as an addition to the code base of your application. By
    specifying a ZIP file, the browser will load your applet's classes
    from
    a specified ZIP file before it searches the code base. This ZIP can
    improve applet download time by reducing the number of HTTP
    connections
    required to fetch applet code. As an added benefit, Netscape caches
    the
    single ZIP file so that it will not reload your applet unless the date
    of the ZIP file has changed."
    3. Figure out how to use JAR files. Here's what I've read: "JAR
    stands for Java archive. It's a file format based on the popular ZIP
    file format and is used for aggregating many files into one. Although
    JAR can be used as a general archiving tool, the primary motivation
    for
    its development was so that Java applets and their requisite
    components
    can be downloaded to a browser in a single HTTP transaction, rather
    than
    opening a new connection for each piece. This greatly improves the
    speed with which an applet can be loaded onto a web page and begin
    functioning. The JAR format also supports compression, which reduces
    the
    size of the file and improves download time still further."
    Unfortunately, we've been unable to get any of these approaches to
    work.
    Has any one used these or other approaches to speed up applet
    download
    time? Or, does anyone know of consulting firms that specialize in
    this
    sort of thing?
    Thanks in advance for your help.
    Mike Nelson, Project Leader
    Metrix, Inc.
    [email protected]
    414-798-8560 x1157
    Billy L. Williams, Jr. | email: [email protected]
    Sage Solutions, Inc. | Tel: (415) 392-7243 (x506) Fax: (415) 391-3899
    | Pager: (415) 605-1791 (page me if urgent)

    Hi Michael,
    We have done exactly what you describe and have avoided the slow applet
    download times. Although it can be a bit tricky, it is possible to use
    the ORB bundled inside the Netscape 4.0 browser (Visibroker for Java by
    Visigenic). Most of the code should follow Netscape's examples (on
    http://developer.netscape.com)--just remember to initialize the ORB by
    passing a reference to the current applet in orb_init() (so that you
    invoke something like orb_init(this) [assuming you are extending
    java.applet.Applet]). Pulling up the Java console within your web
    browser should help debug quite a bit (a lot of debug messages will get
    printed there the ORB is having problems).
    Netscape has just implemented the applet caching schemes you describe,
    so it probably shouldn't matter too much if you use another vendor's
    ORB (we've done this with Iona's OrbixWeb). If you use ZIP files, they
    have to be uncompressed, and I don't think that the browser will cache
    them between browser sessions. Netscape 4.0 does seem to handle
    compressed JAR files just fine and it does indeed cache them between
    browser sessions. I'd go with the JAR format anyway since the ZIP
    bundling was just a workaround until Sun got their act together in the
    1.1 JDK.
    By the way, you also might want to take advantage of the code-signing
    and capabilities APIs of Netscape if you are going to invoke methods on
    objects not resident on your web server. Otherwise, you will probably
    run into the (in)famous browser applet security restrictions and you may
    have other problems doing things like callbacks from Forte, etc.
    If you want more detail on how it works, let me know and I can post some
    examples.
    Oh, one last thing: we are a consulting firm specializing in these kinds
    of things :)
    Bill
    Subject: Java Applet IIOP Call-In with Release 3C--How do we speed up download time.
    Date: Wed, 2 Jul 1997 09:10:31 -0500
    From: Michael Nelson <[email protected]>
    To: "'[email protected]'" <[email protected]>
    We have successfully implemented a simple Java Applet that calls into
    Forte Services via IIOP. However, the duration of the download time
    for
    Applet and its required class files is UNACCEPTABLE in a typical
    INTERNET environment where 28.8K modems and multiple hops around the
    net
    are not uncommon. We dialed into our network at 28.8K (but no
    hopping),
    and found that download times varied from 1.5 - 2.0 minutes. This is
    unacceptable, even by internet standards. We have been using the
    Visigenic Visibroker product as the ORB.
    After doing some investigation, we've come up with several ideas to
    speed up download time:
    1. Figure out how to use the Visigenic components (CORBA/IIOP class
    files) that come bundled with the latest version of the Netscape
    Navigator browser, so that they don't have to be downloaded
    2. Figure out how to use ZIP files. Here's what I've read: "Since
    the
    introduction of Netscape Navigator 3.0, you can specify an
    uncompressed
    .zip file as an addition to the code base of your application. By
    specifying a ZIP file, the browser will load your applet's classes
    from
    a specified ZIP file before it searches the code base. This ZIP can
    improve applet download time by reducing the number of HTTP
    connections
    required to fetch applet code. As an added benefit, Netscape caches
    the
    single ZIP file so that it will not reload your applet unless the date
    of the ZIP file has changed."
    3. Figure out how to use JAR files. Here's what I've read: "JAR
    stands for Java archive. It's a file format based on the popular ZIP
    file format and is used for aggregating many files into one. Although
    JAR can be used as a general archiving tool, the primary motivation
    for
    its development was so that Java applets and their requisite
    components
    can be downloaded to a browser in a single HTTP transaction, rather
    than
    opening a new connection for each piece. This greatly improves the
    speed with which an applet can be loaded onto a web page and begin
    functioning. The JAR format also supports compression, which reduces
    the
    size of the file and improves download time still further."
    Unfortunately, we've been unable to get any of these approaches to
    work.
    Has any one used these or other approaches to speed up applet
    download
    time? Or, does anyone know of consulting firms that specialize in
    this
    sort of thing?
    Thanks in advance for your help.
    Mike Nelson, Project Leader
    Metrix, Inc.
    [email protected]
    414-798-8560 x1157
    Billy L. Williams, Jr. | email: [email protected]
    Sage Solutions, Inc. | Tel: (415) 392-7243 (x506) Fax: (415) 391-3899
    | Pager: (415) 605-1791 (page me if urgent)

  • How to sign java applet policy to end user?

    i have putted my applet class on server, i want all end users can access it on server, how to sign the java.policy to there JRE?
    can anyone help me?

    I found this some where else. It shows how to sign an applet.
    START OF DOC
    How To Sign a Java Applet
    The purpose of this document is to document the steps required to sign and use an
    applet using a self-signed cert or CA authorized in the JDK 1.3 plugin.
    The original 9 steps of this process were posted by user irene67 on suns message forum:
    http://forums.java.sun.com/thread.jsp?forum=63&thread=132769
    -----begin irene67's original message -----
    These steps describe the creation of a self-signed applet. This is useful for testing purposes. For use of public reachable applets, there will be needed a "real" certificate issued by an authority like VeriSign or Thawte. (See step 10 - no user will import and trust a self-signed applet from an unkown developer).
    The applet needs to run in the plugin, as only the plugin is platform- and browser-independent. And without this indepence, it makes no sense to use java...
    1. Create your code for the applet as usual.
    It is not necessary to set any permissions or use security managers in
    the code.
    2. Install JDK 1.3
    Path for use of the following commands: [jdk 1.3 path]\bin\
    (commands are keytool, jar, jarsigner)
    Password for the keystore is any password. Only Sun knows why...
    perhaps ;-)
    3. Generate key: keytool -genkey -keyalg rsa -alias tstkey
    Enter keystore password: *******
    What is your first and last name?
    [Unknown]: Your Name
    What is the name of your organizational unit?
    [Unknown]: YourUnit
    What is the name of your organization?
    [Unknown]: YourOrg
    What is the name of your City or Locality?
    [Unknown]: YourCity
    What is the name of your State or Province?
    [Unknown]: YS
    What is the two-letter country code for this unit?
    [Unknown]: US
    Is CN=Your Name, OU=YourUnit, O=YourOrg, L=YourCity, ST=YS, C=US
    correct?
    [no]: yes
    (wait...)
    Enter key password for tstkey
    (RETURN if same as keystore password):
    (press [enter])
    4. Export key: keytool -export -alias tstkey -file tstcert.crt
    Enter keystore password: *******
    Certificate stored in file tstcert.crt
    5. Create JAR: jar cvf tst.jar tst.class
    Add all classes used in your project by typing the classnames in the
    same line.
    added manifest
    adding: tst.class(in = 849) (out= 536)(deflated 36%)
    6. Verify JAR: jar tvf tst.jar
    Thu Jul 27 12:58:28 GMT+02:00 2000 META-INF/
    68 Thu Jul 27 12:58:28 GMT+02:00 2000 META-INF/MANIFEST.MF
    849 Thu Jul 27 12:49:04 GMT+02:00 2000 tst.class
    7. Sign JAR: jarsigner tst.jar tstkey
    Enter Passphrase for keystore: *******
    8. Verifiy Signing: jarsigner -verify -verbose -certs tst.jar
    130 Thu Jul 27 13:04:12 GMT+02:00 2000 META-INF/MANIFEST.MF
    183 Thu Jul 27 13:04:12 GMT+02:00 2000 META-INF/TSTKEY.SF
    920 Thu Jul 27 13:04:12 GMT+02:00 2000 META-INF/TSTKEY.RSA
    Thu Jul 27 12:58:28 GMT+02:00 2000 META-INF/
    smk 849 Thu Jul 27 12:49:04 GMT+02:00 2000 tst.class
    X.509, CN=Your Name, OU=YourUnit, O=YourOrg, L=YourCity, ST=YS, C=US
    (tstkey)
    s = signature was verified
    m = entry is listed in manifest
    k = at least one certificate was found in keystore
    i = at least one certificate was found in identity scope
    jar verified.
    9. Create HTML-File for use of the Applet by the Sun Plugin 1.3
    (recommended to use HTML Converter Version 1.3)
    10. (Omitted See Below)
    -----end irene67's original message -----
    To make the plug-in work for any browser you have two options with the JDK 1.3 plugin.
    1) Is to export a cert request using the key tool and send it to a CA verification source like verisign.
    When the reponse comes back, import it into the keystore overwriting the original cert for the generated key.
    To export request:
    keytool -certreg -alias tstkey -file tstcert.req
    To import response:
    keytool -import -trustcacerts -alias tstkey -file careply.crt
    An applet signed with a cert that has been verified by a CA source will automatically be recognized by the plugin.
    2) For development or otherwise, you may want to just use your self-signed certificate.
    In that case, the JDK 1.3 plugin will recognize all certs that have a root cert located in the JDK 1.3 cacerts keystore.
    This means you can import your test certificate into this keystore and have the plugin recognize your jars when you sign them.
    To import self-signed certificate into the cacerts keystore, change directory to where the JDK plugin key store is located.
    For JDK 1.3.0_02: C:\Program Files\JavaSoft\JRE\1.3.0_02\lib\security
    For JDK 1.3.1: C:\Program Files\JavaSoft\JRE\1.3.1\lib\security
    Import your self-signed cert into the cacerts keystore:
    keytool -import -keystore cacerts -storepass changeit -file tstcert.crt
    (the password is literally 'changeit')
    Now, regardless of which method you use, the applet should be recognized as coming from a signed jar. The user can choose to activate it if he / she chooses. If your applet uses classes from multiple jars, for example Apache's Xerce's parser, you will need to sign those jars as well to allow them to execute in the client's brower. Otherwise, only the classes coming from the signed jar will work with the java.security.AllPermission setting and all other classes from unsigned jars will run in the sandbox.
    NOTE: Unless otherwise specified by the -keystore command in all keytool and jarsigner operations, the keystore file used is named '.keystore' in the user's home directory.
    The first time any keystore is accessed (including the default) it will be created and secured with the first password given by the user. There is no way to figure out the password if you forget it, but you can delete the default file and recreate it if necessary. For most operations, using the -keystore command is safer to keep from cluttering or messing up your default keystore.

  • I can't install the java applet for google drive

    I want to upload complete maps into drive as a backup. But every time I want to install the Java applet a little yellow bar appears in drive wich says: ''The installation of the java applet has failed.''
    (I'm using a dutch version, so the quotations are just a free translation to english.)
    When I click on the add-on button next to the padlock and click on ''allow to continue'' the page appears to refresh, but then the add-on button just reappears next to the padlock and nothing has changed.
    I have enabled java through the padlock and at the permissions tab, but that didn't solve it.
    I have also followed these steps: https://support.google.com/drive/answer/2424368, but these also didn't help.
    I have the latest versions of java and firefox installed, and I'm running windows 7.
    Please help

    This can be caused by blocking unsigned Java applets.
    What should I do when I see a security prompt from Java?:
    * http://www.java.com/en/download/help/appsecuritydialogs.xml
    There are other things that need your attention.
    Note that your System Details List shows multiple Flash plugins.
    # Shockwave Flash 12.0 r0
    # Shockwave Flash 11.9 r900
    You can find the installation path of all plugins on the <b>about:plugins</b> page.
    You can check the Flash player installation folder for multiple Flash player plugins and remove all (older) version(s) of the plugin (NPSWF32) and (re)install the latest Flash player.
    *(32 bit Windows) C:\Windows\System32\Macromed\Flash\
    *(64 bit Windows) C:\Windows\SysWOW64\Macromed\Flash\

  • Illegal start to expression - java applet

    Hi Guys,
    this code is for a hangman game which will be in an applet. When I try putting the buttons in init, I'm getting an "illegal start of expression" for each button. Can someone tell me what I'm doing wrong?
    Cheers,
    * @(#)Hangman.java
    * Sample Applet application
    * @author
    * @version 1.00 06/10/17
    import java.util.Random;
    import java.util.*;
    import java.awt.*;
    import java.applet.*;
    import java.io.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.BorderLayout;
    public class Hangman extends JApplet implements ActionListener
         Scanner textfile =new Scanner ("list.txt"); //file with words in
         int count=0;//count number of letters in chosen word
         int lives=6;//lives left
         String [] list= new String [count]; //word chosen stored in array
         boolean [] listDisplay=new boolean [count]; //whether letters in word have been guessed correct
         String guess=null; //guess
         boolean cont=false; //whether game continues or not
         public void read()
              try
                   while (textfile.hasNext()==true)
                        count++;
                   for (int i=0;i<count;i++)
                        String input=null;
                        list=input;
              catch (InputMismatchException e)
              System.out.println ("Mismatch exception:" + e );
         public String selectWord()
              int index=0;
              Random ind=new Random();
              String word=null;
              index=ind.nextInt();
              word=list[index];
              return word;
         public void wrongGuess(int lives)
              switch (lives)
                   case 6:               
                   break;
                   case 5:
                   break;
                   case 4:
                   break;
                   case 3:
                   break;
                   case 2:
                   break;
                   case 1:
                   break;
                   case 0:
                   cont=false;     
         public void game()
              String word=null;
              read();
              word=selectWord();
              while (cont==true)
         public void check(String letter)
              boolean tried=false;
              for (int i=0;i<list.length;i++)
                   if (list[i]==letter)
                        listDisplay[i]=true;
                   else
                        if (tried==false)
                             lives--;
                             tried=true;//guard to stop multiple lives lost by 1 letter
         public void init()
              //setup buttons
              private JButton jbtA=new JButton("A");
              private JButton jbtB=new JButton("B");
              private JButton jbtC=new JButton("C");
              private JButton jbtD=new JButton("D");
              private JButton jbtE=new JButton("E");
              private JButton jbtF=new JButton("F");
              private JButton jbtG=new JButton("G");
              private JButton jbtH=new JButton("H");
              private JButton jbtI=new JButton("I");
              private JButton jbtJ=new JButton("J");
              private JButton jbtK=new JButton("K");
              private JButton jbtL=new JButton("L");
              private JButton jbtM=new JButton("M");
              private JButton jbtN=new JButton("N");
              private JButton jbtO=new JButton("O");
              private JButton jbtP=new JButton("P");
              private JButton jbtQ=new JButton("Q");
              private JButton jbtR=new JButton("R");
              private JButton jbtS=new JButton("S");
              private JButton jbtT=new JButton("T");
              private JButton jbtU=new JButton("U");
              private JButton jbtV=new JButton("V");
              private JButton jbtW=new JButton("W");
              private JButton jbtX=new JButton("X");
              private JButton jbtY=new JButton("Y");
              private JButton jbtZ=new JButton("Z");
              JPanel p1=new JPanel();
              p1.add(jbtA);
              p1.add(jbtB);
              p1.add(jbtC);
              p1.add(jbtD);
              p1.add(jbtE);
              p1.add(jbtF);
              p1.add(jbtG);
              p1.add(jbtH);
              p1.add(jbtI);
              p1.add(jbtJ);
              p1.add(jbtK);
              p1.add(jbtL);
              p1.add(jbtM);
              p1.add(jbtN);
              p1.add(jbtO);
              p1.add(jbtP);
              p1.add(jbtQ);
              p1.add(jbtR);
              p1.add(jbtS);
              p1.add(jbtT);
              p1.add(jbtU);
              p1.add(jbtV);
              p1.add(jbtW);
              p1.add(jbtX);
              p1.add(jbtY);
              p1.add(jbtZ);
              getContentPane().add(p1,BorderLayout.CENTER);
         public void start()
              game();
         public void paint(Graphics g)
              g.drawString("Welcome to Java!!", 50, 60 );
         public void actionPerformed(ActionEvent e)
              if (e.getSource()==jbtA)
                   check("A");
              if (e.getSource()==jbtB)
                   check("B");
              if (e.getSource()==jbtC)
                   check("C");
              if (e.getSource()==jbtD)
                   check("D");
              if (e.getSource()==jbtE)
                   check("E");
              if (e.getSource()==jbtF)
                   check("F");
              if (e.getSource()==jbtF)
                   check("F");
              if (e.getSource()==jbtG)
                   check("G");
              if (e.getSource()==jbtH)
                   check("H");
              if (e.getSource()==jbtI)
                   check("I");
              if (e.getSource()==jbtJ)
                   check("J");
              if (e.getSource()==jbtK)
                   check("K");
              if (e.getSource()==jbtL)
                   check("L");
              if (e.getSource()==jbtM)
                   check("M");
              if (e.getSource()==jbtN)
                   check("N");
              if (e.getSource()==jbtO)
                   check("O");
              if (e.getSource()==jbtP)
                   check("P");
              if (e.getSource()==jbtQ)
                   check("Q");
              if (e.getSource()==jbtR)
                   check("R");
              if (e.getSource()==jbtS)
                   check("S");
              if (e.getSource()==jbtT)
                   check("T");
              if (e.getSource()==jbtU)
                   check("U");
              if (e.getSource()==jbtV)
                   check("V");
              if (e.getSource()==jbtW)
                   check("W");
              if (e.getSource()==jbtX)
                   check("X");
              if (e.getSource()==jbtY)
                   check("Y");
              if (e.getSource()==jbtZ)
                   check("Z");
    /code]

    cheers for the reply :)
    I've managed to compile the file, but nothing is displayed. I'm compiling using JDK 5. Any ideas?
    * @(#)Hangman.java
    * Sample Applet application
    * @author
    * @version 1.00 06/10/17
    import java.util.Random;
    import java.util.*;
    import java.awt.*;
    import java.applet.*;
    import java.io.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.BorderLayout;
    public class Hangman extends JApplet implements ActionListener
         Scanner textfile =new Scanner ("list.txt"); //file with words in
         int count=0;//count number of letters in chosen word
         int lives=6;//lives left
         String [] list= new String [count]; //word chosen stored in array
         boolean [] listDisplay=new boolean [count]; //whether letters in word have been guessed correct
         String guess=null; //guess
         boolean cont=false; //whether game continues or not
         JButton jbtA;
         JButton jbtB;
         JButton jbtC;
         JButton jbtD;
         JButton jbtE;
         JButton jbtF;
         JButton jbtG;
         JButton jbtH;
         JButton jbtI;
         JButton jbtJ;
         JButton jbtK;
         JButton jbtL;
         JButton jbtM;
         JButton jbtN;
         JButton jbtO;
         JButton jbtP;
         JButton jbtQ;
         JButton jbtR;
         JButton jbtS;
         JButton jbtT;
         JButton jbtU;
         JButton jbtV;
         JButton jbtW;
         JButton jbtX;
         JButton jbtY;
         JButton jbtZ;
         public void read()
              try
                   while (textfile.hasNext()==true)
                        count++;
                   for (int i=0;i<count;i++)
                        String input=null;
                        list=input;
              catch (InputMismatchException e)
              System.out.println ("Mismatch exception:" + e );
         public String selectWord()
              int index=0;
              Random ind=new Random();
              String word=null;
              index=ind.nextInt();
              word=list[index];
              return word;
         public void wrongGuess(int lives)
              switch (lives)
                   case 6:               
                   break;
                   case 5:
                   break;
                   case 4:
                   break;
                   case 3:
                   break;
                   case 2:
                   break;
                   case 1:
                   break;
                   case 0:
                   cont=false;     
         public void game()
              String word=null;
              read();
              word=selectWord();
              while (cont==true)
         public void check(String letter)
              boolean tried=false;
              for (int i=0;i<list.length;i++)
                   if (list[i]==letter)
                        listDisplay[i]=true;
                   else
                        if (tried==false)
                             lives--;
                             tried=true;//guard to stop multiple lives lost by 1 letter
         public void init()
              //setup buttons
              jbtA=new JButton("A");
              jbtB=new JButton("B");
              jbtC=new JButton("C");
              jbtD=new JButton("D");
              jbtE=new JButton("E");
              jbtF=new JButton("F");
              jbtG=new JButton("G");
              jbtH=new JButton("H");
              jbtI=new JButton("I");
              jbtJ=new JButton("J");
              jbtK=new JButton("K");
              jbtL=new JButton("L");
              jbtM=new JButton("M");
              jbtN=new JButton("N");
              jbtO=new JButton("O");
              jbtP=new JButton("P");
              jbtQ=new JButton("Q");
              jbtR=new JButton("R");
              jbtS=new JButton("S");
              jbtT=new JButton("T");
              jbtU=new JButton("U");
              jbtV=new JButton("V");
              jbtW=new JButton("W");
              jbtX=new JButton("X");
              jbtY=new JButton("Y");
              jbtZ=new JButton("Z");
              JPanel p1=new JPanel();
              p1.add(jbtA);
              p1.add(jbtB);
              p1.add(jbtC);
              p1.add(jbtD);
              p1.add(jbtE);
              p1.add(jbtF);
              p1.add(jbtG);
              p1.add(jbtH);
              p1.add(jbtI);
              p1.add(jbtJ);
              p1.add(jbtK);
              p1.add(jbtL);
              p1.add(jbtM);
              p1.add(jbtN);
              p1.add(jbtO);
              p1.add(jbtP);
              p1.add(jbtQ);
              p1.add(jbtR);
              p1.add(jbtS);
              p1.add(jbtT);
              p1.add(jbtU);
              p1.add(jbtV);
              p1.add(jbtW);
              p1.add(jbtX);
              p1.add(jbtY);
              p1.add(jbtZ);
              getContentPane().add(p1,BorderLayout.CENTER);
         public void start()
              game();
         public void paint(Graphics g)
              g.drawString("Welcome to Java!!", 50, 60 );
         public void actionPerformed(ActionEvent e)
              if (e.getSource()==jbtA)
                   check("A");
              if (e.getSource()==jbtB)
                   check("B");
              if (e.getSource()==jbtC)
                   check("C");
              if (e.getSource()==jbtD)
                   check("D");
              if (e.getSource()==jbtE)
                   check("E");
              if (e.getSource()==jbtF)
                   check("F");
              if (e.getSource()==jbtF)
                   check("F");
              if (e.getSource()==jbtG)
                   check("G");
              if (e.getSource()==jbtH)
                   check("H");
              if (e.getSource()==jbtI)
                   check("I");
              if (e.getSource()==jbtJ)
                   check("J");
              if (e.getSource()==jbtK)
                   check("K");
              if (e.getSource()==jbtL)
                   check("L");
              if (e.getSource()==jbtM)
                   check("M");
              if (e.getSource()==jbtN)
                   check("N");
              if (e.getSource()==jbtO)
                   check("O");
              if (e.getSource()==jbtP)
                   check("P");
              if (e.getSource()==jbtQ)
                   check("Q");
              if (e.getSource()==jbtR)
                   check("R");
              if (e.getSource()==jbtS)
                   check("S");
              if (e.getSource()==jbtT)
                   check("T");
              if (e.getSource()==jbtU)
                   check("U");
              if (e.getSource()==jbtV)
                   check("V");
              if (e.getSource()==jbtW)
                   check("W");
              if (e.getSource()==jbtX)
                   check("X");
              if (e.getSource()==jbtY)
                   check("Y");
              if (e.getSource()==jbtZ)
                   check("Z");

  • Trouble receiving multiple MIDI channels

    Hi everyone.... I am trying to dump some sequences from my Roland MC-505 Groovebox into Logic Pro. I set up eight tracks in Logic and assigned them each to a different channel of my Digi002 (my MIDI port), but when I play the Groovebox into Logic, ALL channels are routed into only whatever track happens to be selected in the Arrange area.
    Does anybody know how I can receive the different channels on their respective tracks? Is there an easier way I can go about this all together?
    Thanks,
    scotty

    The question has been answered here:
    http://www.coderanch.com/t/463726/Java-General/java/Multiple-Midi-Channels

  • Passing Variables From PHP to Java Applet ?

    I took one page of a project which was written entirely in PHP, and translated it into a JAVA applet, so as to support better GUI funcitonalities (immediate calculation and display of Time/Billing data, on LostFocus events...stuff like this).
    In any case - I need to pass four variables from the php scripts, to the Java Applet. I had initially, written them out from the php scripts to an html file on the server, and read them in from the applet doing something like this:
    .     this.m_TheURL = new URL(url);
         InputStream in = m_TheURL.openStream();
         DataInputStream data = new DataInputStream(new BufferedInputStream(in));
         while ((unparsed = data.readLine()) != null)
    // parsed the strings here and got my variables
    The URL I read from, was the same file I wrote out to from the PHP scripts. This worked fine - until I told my boss about it, and realised that this wasnt going to work - because the applet updates a MySql database, and issues regarding multiple users became apparent.
    The Applet has to get these variables from the previous PHP page, the same way it had - before my applet was an applet, and it was just another PHP script page.
    The PHP pages are passing variabes using CGI, and a PostGet function. My applet has to do the same thing.
    Anybody know how I can do this - safely ?

    Updated some code... in case people wanted to use it....
    <?php
    class JavaApplet {
         var $param;
         function setParam($name, $value) {
              $temp1 =  array("name" => $name, "value" => $value);
              $this->param = array_merge($this->param, $temp1);
         function delParam($name) {
             foreach ($this->param as $key => $value) {
                  if ($key = $name) {
                       unset( $this->param["$id"]);
         function echo_html() {
              echo '<applet code=TimeEntry.class width=600 height=90 >';
              foreach ($this->param as $value) {
                   foreach ($value as $key => $value2) {
                        echo '<param name="' . $key . '" value="' . $value2 . '">';
              echo '</applet>';
    $applet = &New JavaApplet;
    $applet->setParam("name1", "value");
    $applet->setParam("name2", "value");
    $applet->setParam("name3", "value");
    $applet->echo_html();
    ?>

  • Voiceover tool doesnt rcognize text on java applet

    Voiceover tool doesnt recognize the texts on the java applet.

    absolutely now way of doing this straight forwardly. But some workouts could be :
    1. whatever text u want to display, try displaying it inside a textarea (and not simply as label). This will automatically adjust the textarea as well as the text inside it on resizing.
    2. develop a custom class (say DynamicLabel) which will keep track of the resizing event of the applet or frame and adjust the text in multiple lines accordingly. But then u have to write custom code to adjust the text in multiple lines.
    regards

  • Sandbox Security Issue (MIDI Not Working In Applet)

    Hi all,
    I'm having problems getting javax.sound.midi to work in a java applet. It works fine when I run the applet from within JGrasp, but when I try to run the applet from an HTML file there is no sound. From what info I've found, it seems like my problem has to do with the sandbox security so the applet is not being able to access the computer's sound card, but I still haven't found a solution or a work around to that problem (after about 2 weeks worth of searching). The world of applet security is all new territory for me.
    I am running the html file off of my hard drive and I have my test program's class file in the same directory. I have tried both firefox and internet explorer web browsers (and also did the "allow blocked content" in internet explorer).
    I have no other sound sources playing or paused that would interfere with the web browser playing (it works in JGrasp and immediately after closing JGrasp completely it doesn't work in the web browser).
    Any help help in getting this figured out would be greatly appreciated. An example of an open source MIDI Java applet that I can pick apart to figure out what I need to make this work would be fantastic. Thanks in advance!
    Here are the codes to my test program and HTML file:
    PlayMIDI.html
    <html>
    <body>
    <CENTER><applet code="PlayMIDI.class" width="1000" height="500"></applet></CENTER>
    </body>
    </html>PlayMIDI.java
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import java.net.*;
    import javax.sound.midi.*;
    public class PlayMIDI extends JApplet
        public void init()
            MIDITest play = new MIDITest(0);
            play.playSong(100);
    class MIDITest
        private final int C4 = 60;                                        // C4 is the note middle C
        private final int MF = Integer.MAX_VALUE / 2;        // MF stands for mezzo forte -- medium loud
        private int iTimbre;                                                 // midi instrument number
        private Synthesizer synth;                                        // get the java synthesizer
        private MidiChannel [] channels;                              // get an array of channels.  This is the number of notes that can sound simultaneously     
        // Creates a midi synthisizer using the supplied instrument "patch".
        //   instrument numbers can vary from 0 to 127
        public MIDITest(int instrumentNumber)
            iTimbre = instrumentNumber;
            try 
            {   synth = MidiSystem.getSynthesizer();                                   //synth = MidiSystem.getSynthesizer();
                synth.open();                                                                           // open the synthesizer
                synth.loadAllInstruments(synth.getDefaultSoundbank());     // make all instruments available
                channels = synth.getChannels();
                channels[0].programChange(0, iTimbre);                                   // set the instrument for the channel 0
            catch (Exception e)
            {  System.out.println(e);
        public void playSong(int tempo)
            int quarter     = 60000;
            int eigth     = 30000;
            int half          = 120000;
            int whole     = 240000;
            int D4 = C4 + 2;
            int E4 = C4 + 4;
            int G4 = C4 + 7;
            int A4 = C4 + 9;
            int B4 = C4 + 11;
            try
            {   channels[0].noteOn(E4, MF);                         // start the instrument on channel 0 sounding
                channels[0].noteOn(B4, MF);
                channels[0].noteOn(G4, MF);
                channels[0].noteOn(D4, MF);
                Thread.sleep(whole / tempo);                         // sleep causes the program to wait the given number of milliseconds
                channels[0].noteOff(E4, MF);                         // stop the sound on the instrument on channel 0
                channels[0].noteOff(B4, MF);
                channels[0].noteOff(G4, MF);
                channels[0].noteOff(D4, MF);
            catch (Exception e)
            {   System.out.println(e);
    }

    Hi ejp, thanks for the reply.
    I did some searching for applet signing and I found this:
    http://www.brendonwilson.com/projects/signed-java/
    "+Developers should be warned that signing alone is not enough to enable their Java applets to access resources normally restricted by the Java sandbox. Although signing provides proof of the integrity of the applet and validation of the author’s identity through trust-heirarchies, developers must also make use of the browser-dependent APIs to request permission from the user to perform restricted activities.+"
    So am I going to have to do ask permission from each browser in order to get access to the sound card for the MIDI to play or will the MIDI work without that?
    Also, I found this tutorial on signing applets. Does this look like a good one?
    http://www-personal.umich.edu/~lsiden/tutorials/signed-applet/signed-applet.html
    Thanks again,
    -tkr

Maybe you are looking for

  • Abap equivalent for  'rownum'

    Dear All,            I want to fetch any 5 records from a table without using internal table.Basically  I want an abap equivalent for the 'rownum' keyword in oracle. For e.g. select * from emp where rownum <  5. How can this be done in abap? Yours tr

  • Child creation Error on vms HELP

    Hi, Iam trying to execute a file from withing a java program on VMS This is my code public class BAMBOE {   public static void main(String[] args) {      BamboeRunner boe = new BamboeRunner();     boe.start(); import java.io.*; public class BamboeRun

  • Printing from pdfregards,

    HP LASERJET 1536DNNF MFP INSTALLED IN MY LAPTOP.  I AM  NOT ABLE TO PRINT PDF DOCUMENTS (PRINTER IS NOT AVAILABLE IN PRINT OPTION). HOWEVER I AM ABLE TO PRINT FROM WORD, EXCEL, IMAGE ETC... ONLY FROM PDF IS THE ISSUE regards, BALAKUMARAN

  • HT6114 camera is not working in my mac for skype and facetime

    camera is nt working in my mac for skype and facetime calls.there is no option for camera also in my mac...

  • Enable Flash for only selected sites

    Flash implementation sucks and will eventually be replaced by HTML 5 functionality. Most sites today work without Flash but a few still require them. The ones that do not need flash will in most cases use it anyway if Flash is enabled. To be able to