tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
365
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Benzol Benzol ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Beiträge
    326
    Hey Leute,
    habe Probleme mein geändertes Java Applet zum Laufen zu bekommen.

    Das Applet ist signiert und soll Bilddaten auf der Clientseite vor dem hochladen klein rechnen. Habe das bisher immer mit Java-Bordmitteln gemacht, bin aber wegen Geschwindigkeit und Qualität auf JAI umgestiegen.

    JAI habe ich schon erfolgreich hin im Laden in einer Java-Anwendung am laufen. Auch den Programmteil für's verkleinern der Bilddaten habe ich aus dem Programm soweit übernommen.

    Für's Applet habe ich jetzt die beiden JAR-Dateien in der Manifest angegeben nach ersten Problemen wegen Sicherheit habe ich die beiden Dateien auch signiert.

    Jetzt bekomme ich leider einen Fehler, mit dem ich nix anfangen kann. Vllt. könnt Ihr mich helfen, bin da grad etwas Ratlos.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
    Exception in thread "Thread-8" java.lang.NoClassDefFoundError: javax/media/jai/OperationRegistrySpi
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$000(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.applet.AppletClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at com.sun.media.jai.util.Service$LazyIterator.next(Service.java:267)
        at javax.media.jai.OperationRegistry.registerServices(OperationRegistry.java:2047)
        at javax.media.jai.ThreadSafeOperationRegistry.registerServices(ThreadSafeOperationRegistry.java:612)
        at javax.media.jai.OperationRegistry.initializeRegistry(OperationRegistry.java:365)
        at javax.media.jai.JAI.<clinit>(JAI.java:560)
        at PictureManager.UploadPicture(PictureManager.java:245)
        at PictureManager.UploadDirectory(PictureManager.java:172)
        at PictureManager$1.run(PictureManager.java:137)

    Habe nochmal fixx den Code rausgesucht, der für das kleinrechnen veräntwortlich ist.

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    
    PlanarImage source = JAI.create("fileload", selectedFile.getPath());
     
                    int imgwidth = source.getWidth();
                    int imgheight = source.getHeight();
                    
                    //Größe berechnen
                    boolean tall = (imgheight > imgwidth);
                    float modifier = (float) widthparam / (float) (tall ? imgheight : imgwidth);
                    
                    ParameterBlock param = new ParameterBlock();
                    param.addSource(source);
                    param.add(modifier); //Breite in %
                    param.add(modifier); //Höhe in %
                    param.add(0.0f);
                    param.add(0.0f);
                    param.add(new InterpolationBicubic(11)); //Interpolation
                    
                    //Verkleinertes Zeilbild erstellen
                    PlanarImage dst = JAI.create("scale", param);
                    
                    //In Datei schreiben
                    FileOutputStream os = new FileOutputStream(new File(tmpdir+selectedFile.getName()));
                    JAI.create("encode", dst, os, "JPEG", null);
                    os.close();
                    SubmitPicture(tmpdir+selectedFile.getName());
    Geändert von Benzol (27.06.08 um 12:13 Uhr)
     

  2. #2
    Avatar von matdacat
    matdacat matdacat ist offline Mitglied Platin
    Registriert seit
    Aug 2004
    Beiträge
    672
    Über das Attribut "archive" im HTML-Tag "applet" kannst Du externe JAR-Files angeben. Aber bei der Verwendung von JAI in Applets gibt's einiges zu beachten, siehe http://java.sun.com/developer/onlineTraining/javaai/.
     

Ähnliche Themen

  1. Java applet
    Von xX_Legolas_Xx im Forum Java
    Antworten: 1
    Letzter Beitrag: 18.01.11, 22:40
  2. Antworten: 0
    Letzter Beitrag: 15.03.09, 16:43
  3. Link auf java-verlinkte Site
    Von norbni im Forum Javascript & Ajax
    Antworten: 9
    Letzter Beitrag: 07.11.07, 20:25
  4. Java Applet - PHP
    Von flashray im Forum PHP
    Antworten: 3
    Letzter Beitrag: 17.01.06, 23:29
  5. Antworten: 4
    Letzter Beitrag: 02.01.06, 10:59