Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
src/QTTestApplet.java
/* |
* quicktime.app: Sample Code for Initial Seeding |
* |
* © 1997 Copyright, Apple Computer |
* All rights reserved |
*/ |
import java.applet.Applet; |
import java.awt.*; |
import quicktime.*; |
import quicktime.io.QTFile; |
import quicktime.app.display.*; |
import quicktime.app.image.ImageDrawer; // for exceptions |
public class QTTestApplet extends Applet { |
private boolean initDone = false; |
public void init () { |
try { |
if (QTSession.isInitialized() == false) |
QTSession.open(); |
initDone = true; |
} catch (NoClassDefFoundError er) { |
add (new Label ("Can't Find QTJava classes"), "North"); |
add (new Label ("Check install and try again"), "South"); |
} catch (SecurityException se) { |
// this is thrown by MRJ trying to find QTSession class |
add (new Label ("Can't Find QTJava classes"), "North"); |
add (new Label ("Check install and try again"), "South"); |
} catch (Exception e) { |
// do a dynamic test for QTException |
//so the QTException class is not loaded unless |
// an unknown exception is thrown by the runtime |
if (e instanceof ClassNotFoundException || e instanceof java.io.FileNotFoundException) { |
add (new Label ("Can't Find QTJava classes"), "North"); |
add (new Label ("Check install and try again"), "South"); |
} else if (e instanceof QTException) { |
add (new Label ("Problem with QuickTime install"), "North"); |
if (((QTException)e).errorCode() == -2093) |
add (new Label ("QuickTime must be installed"), "South"); |
else |
add (new Label (e.getMessage()), "South"); |
} |
} |
} |
// we create an inner class here so that the class loader |
// does NOT try to load QT classes until we know that |
// everything is OK |
public void start () { |
if (initDone) |
new DoQT(); |
} |
class DoQT { |
DoQT () { |
try { |
setLayout (new BorderLayout()); |
QTCanvas myQTCanvas = new QTCanvas (QTCanvas.kInitialSize, 0.5F, 0.5F); |
add (myQTCanvas, "Center"); |
myQTCanvas.setClient (ImageDrawer.getQTLogo(), true); |
add (new Label ("QuickTime for Java"), "North"); |
add (new Label ("Installed successfully"), "South"); |
} catch (Throwable e) { |
if (e instanceof ClassNotFoundException) { |
add (new Label ("Can't Find QTJava classes"), "North"); |
add (new Label ("Check install and try again"), "South"); |
} else { |
System.out.println (e); |
e.printStackTrace(); |
} |
} |
} |
} |
public void stop () {} |
public void destroy () { |
if (initDone) |
QTSession.close(); |
initDone = false; |
} |
} |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-01-14