1. #1

    Registriert seit
    06.11.2011
    Beiträge
    418
    Thanked 686 Times in 246 Posts

    Standard [Java 7] Grafiken

    Bei Java 7 werden die Grafiken anders als bei Java 6 über den AppletContext geladen. Wer Java 7 installiert hat, dem ist das vielleicht schon beim KSC aufgefallen, dass Grafiken nicht angezeigt werden. Um das Problem zu beheben müssen wir also den Context faken, dazu legen wir eine neue Klasse an welche das Interface AppletContext implementiert.

    Context.java
    import java.applet.Applet;
    import java.applet.AppletContext;
    import java.applet.AudioClip;
    import java.awt.Desktop;
    import java.awt.Image;
    import java.io.InputStream;
    import java.io.IOException;
    import java.net.URL;
    import java.util.Enumeration;
    import java.util.Iterator;
    import javax.imageio.ImageIO;

    /**
    *
    * @author Flav
    */
    public class Context implements AppletContext {
    public Applet getApplet(String name) {
    return null;
    }

    public Enumeration<Applet> getApplets() {
    return null;
    }

    public AudioClip getAudioClip(URL url) {
    return null;
    }

    public Image getImage(URL url) {
    try {
    return ImageIO.read(url);
    } catch (IOException e) {
    return null;
    }
    }

    public InputStream getStream(String key) {
    return null;
    }

    public Iterator<String> getStreamKeys() {
    return null;
    }

    public void setStream(String key, InputStream stream) {
    }

    public void showDocument(URL url) {
    showDocument(url, null);
    }

    public void showDocument(URL url, String target) {
    if (Desktop.isDesktopSupported()) {
    Desktop desktop = Desktop.getDesktop();

    if (desktop.isSupported(Desktop.Action.BROWSE)) {
    try {
    desktop.browse(url.toURI());
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }
    }

    public void showStatus(String status) {
    }
    }


    Anschließend muss GroupChat noch dementsprechend manipuliert werden, hier überschreiben wir die Methode getAppletContext der Klasse Applet.

                groupChat.addMethod(CtMethod.make(
    "public AppletContext getAppletContext() {"
    + "return new Context();"
    + "}"
    , groupChat));


    P.S. Links sind dadurch auch gefixt.

  2. #2

    Registriert seit
    06.11.2011
    Beiträge
    418
    Thanked 686 Times in 246 Posts

    Standard [Java 7] Grafiken

    Mit ImageIO kann man wohl keine animierten Grafiken laden, also lieber Toolkit verwenden:
        public Image getImage(URL url) {
    return Toolkit.getDefaultToolkit().getImage(url);
    }

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 02.12.2013, 23:41
  2. [Showroom] Bilder/Grafiken
    Von .MrsError im Forum Showroom
    Antworten: 74
    Letzter Beitrag: 07.01.2013, 20:58
  3. 2-3 kleine Grafiken
    Von Devon im Forum Angebot & Nachfrage
    Antworten: 1
    Letzter Beitrag: 21.06.2012, 16:29
  4. [Suche] Grafiken-Ersteller
    Von iBlack im Forum Angebot & Nachfrage
    Antworten: 0
    Letzter Beitrag: 27.04.2012, 19:35
  5. Grafiken BG
    Von Make-Grafik im Forum Showroom
    Antworten: 7
    Letzter Beitrag: 05.04.2012, 19:25
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.