aus einem JApplet ein Image in separatem JFrame anzeigen

Status
Nicht offen für weitere Antworten.

Sergeant_Pepper

Bekanntes Mitglied
Guten Tag,

ich bin ganz neu in Java und möchte folgendes programmieren:
aus einem JApplet heraus soll sich nach dem Drücken eines Buttons ein neues Fenster (JFrame?) öffnen, in welchem eine Grafik (JPG oder PNG) angezeigt wird.
Ich habe hier und in der Standard-Literatur (Krüger, "Insel") schon ähnliche Themen gefunden, aber da soll immer direkt in das Applet gezeichnet werden. Mir fehlt da bislang der "rote Faden", weil es - scheinbar - recht unterschiedliche Wege gibt.
Kennt jemand ein gutes Tutorial?
Der Code unten öffnet lediglich ein leeres Fenster in minimaler Größe.

Gekürztes, lauffähiges Beispiel:

Code:
import java.awt.Graphics;
import java.awt.Image;

import javax.swing.JComponent;

public class ViewComponent extends JComponent
{
    private Image image;

    public void setImage(Image img)
    {
        this.image = img;

        if (image != null)
        {
            repaint();
        }
    }

    @Override
    protected void paintComponent(Graphics g)
    {
        if (image != null) g.drawImage(image, 0, 0, this);
    }
}

Code:
import javax.swing.*;
import java.awt.*;

public class ImageFrame extends JFrame
{
    private ViewComponent viewComponent = new ViewComponent();

    private static final long serialVersionUID = -860326443865178967L;

    public ImageFrame(Image img)
    {
        super("Bildbetrachter");
        this.add(viewComponent);
        viewComponent.setImage(img);
        
    }

}

Code:
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.MalformedURLException;
import java.net.URL;

import javax.swing.*;

public class TestBasis extends JApplet implements ActionListener
{

    private static final long serialVersionUID = 6297258864306719322L;

    private Image pict;

    private JTextField tx2;

    public void start()
    {
        Container p0;
        p0 = this.getContentPane();
        p0.setLayout(new BorderLayout());
        JLabel title = new JLabel("Test diverser GUI-Elemente");
        p0.add(title, BorderLayout.NORTH);

        JPanel p1 = new JPanel();
        p1.setLayout(new GridLayout(1, 2, 5, 5));
        
        JButton b2 = new JButton("Grafik zeigen (Platte)");
        b2.setActionCommand("grafik");
        b2.addActionListener(this);
        p1.add(b2);
        tx2 = new JTextField("FILE://H:\\2004-12-01_GLL-Karte_aus_LGN-Kartenverzeichnis.jpg");
        p1.add(tx2);

        p0.add(p1, BorderLayout.CENTER);
    }

    public void actionPerformed(ActionEvent e)
    {
        try
        {
            String act = e.getActionCommand();
            if (act.equals("grafik"))
            {
                pict = getImage(new URL(tx2.getText()));
                ImageFrame pictFr=new ImageFrame(pict);
                pictFr.setVisible(true);
            }
        }
        catch (MalformedURLException e1)
        {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    }

}

Kennt jemand ein gutes Tutorial zum Laden von Grafiken?

Freundliche Grüße aus Hannover
 

L-ectron-X

Gesperrter Benutzer
Ich habe mir deinen Code jetzt nicht genauer angesehen, aber dazu fällt mir gerade ein, dass eine AccessControlException geworfen werden könnte, wenn du Bilder von fremden Rechnern lädst.
Guck mal bitte in die Java Console deines Browsers, ob sich da entsprechende Meldungen finden.
 

Sergeant_Pepper

Bekanntes Mitglied
L-ectron-X hat gesagt.:
dazu fällt mir gerade ein, dass eine AccessControlException geworfen werden könnte, wenn du Bilder von fremden Rechnern lädst. Guck mal bitte in die Java Console deines Browsers, ob sich da entsprechende Meldungen finden.
Danke für den Tip, aber dass kann ich vorerst ausschließen, weil ich noch am testen im Applet-Viewer von Eclipse bin.
 

Sergeant_Pepper

Bekanntes Mitglied
Sergeant_Pepper hat gesagt.:
... Mir fehlt da bislang der "rote Faden", weil es - scheinbar - recht unterschiedliche Wege gibt.
Der Code unten öffnet lediglich ein leeres Fenster in minimaler Größe.

Wie gesagt, das Beispiel funktioniert so nicht.
 

Sergeant_Pepper

Bekanntes Mitglied
Wenn ich das Applet mit dem Applet-Viewer von Eclipse starte, wird der JFrame geöffnet, enthält wider Erwarten aber kein Bild.

Beim Start über einen Browser wird in der Java-Konsole diese Exception ausgegeben:

Exception in thread "AWT-EventQueue-5" java.security.AccessControlException: access denied (java.net.SocketPermission H resolve)

Das kann ich nachvollziehen. Müsste es aber nicht im Applet-Viewer funktionieren?

Nachtrag: wenn ich mit einer angepassten policy-Datei arbeite, habe ich im Browser exakt das gleiche Verhalten wie unter Eclipse. Es wird dann keine Exception geworfen, aber das JFrame bleibt bei minimaler Größe einfach nur leer.
 

L-ectron-X

Gesperrter Benutzer
Ach nee... Hat er doch eine ACE... Hatte ich das nicht angekündigt?

Sergeant_Pepper hat gesagt.:
Müsste es aber nicht im Applet-Viewer funktionieren?
Nein, der kann nämlich auch nicht ohne weiteres die Sandbox verlassen.

Ich hab mal vor längerer Zeit einen Thread mit ähnlichem Thema behandelt.
Ein passendes Beispiel samt Code findest du da und kannst es auch herunterladen.
http://www.java-forum.org/de/viewtopic.php?t=18460
 

Sergeant_Pepper

Bekanntes Mitglied
Erst mal vielen Dank für Deine Hilfe.

L-ectron-X hat gesagt.:
Ach nee... Hat er doch eine ACE... Hatte ich das nicht angekündigt?
Du hast recht.
Wie gesagt, bin absoluter Einsteiger. Habe bisher nur eine größere Java-Anwendung fachlich betreut.

L-ectron-X hat gesagt.:
Ich hab mal vor längerer Zeit einen Thread mit ähnlichem Thema behandelt.
Ein passendes Beispiel samt Code findest du da und kannst es auch herunterladen.
http://www.java-forum.org/de/viewtopic.php?t=18460

Habe mir das Beispiel eben angeguckt. Mit dem dort zusätzlich geöffneten Fenster wird aber nichts weiter gemacht. Die Grafik wird im Applet-Bereich geladen. Ich will meine Grafik ja nicht im Applet, sondern im neuen Fenster laden.
 

Sergeant_Pepper

Bekanntes Mitglied
Das Beispiel trifft den Nagel auf den Kopf. Danke! :D

Den Link hatte ich tatsächlich übersehen.

Werde mal gucken wie ich das verwerten kann, und dann hier Feedback geben.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M ein aus einem JApplet gestartetes JFrame schliessen Tools - Maven, Gradle, Ant & mehr 6
K Bild (jpg) in einem JApplet Tools - Maven, Gradle, Ant & mehr 2
M javafx wird in einem alten programm nicht bei maven gefunden Tools - Maven, Gradle, Ant & mehr 15
W Buendeln von jar und ear in einem Projekt Tools - Maven, Gradle, Ant & mehr 3
JWK Kann ich mit einem Scanner eine Datei mehrmals lesen? Tools - Maven, Gradle, Ant & mehr 3
pkm Wie log4j in einem mvn-basierten Projekt einbinden? Tools - Maven, Gradle, Ant & mehr 2
4 Hilfe bei einem BB Code formatierer Tools - Maven, Gradle, Ant & mehr 4
S .jars in einem Ornder automatisch laden lassen Tools - Maven, Gradle, Ant & mehr 2
musiKk Maven Verwendung von commons-configuration in einem OSGi-Bundle Tools - Maven, Gradle, Ant & mehr 6
M Repository und Integrationsumgebung auf einem Server Tools - Maven, Gradle, Ant & mehr 5
E Webstart Laden von Tiff-Bildern als BufferedImage und TFW aus einem JAR Tools - Maven, Gradle, Ant & mehr 3
S Problem bei Nutzung einer eigenen EJB in einem Servlet Tools - Maven, Gradle, Ant & mehr 2
E Verzögerung beim Refresh (F5) mit einem Applet verursachen Tools - Maven, Gradle, Ant & mehr 16
S Fehler in einem Upload - Applet (nicht gelöst!!) Tools - Maven, Gradle, Ant & mehr 2
G Vigenere Verschlüsselung mit einem Applet Tools - Maven, Gradle, Ant & mehr 1
A Mit einem Applet eine txt-Datei einlesen und ausgeben. Tools - Maven, Gradle, Ant & mehr 6
H HTML Seiten in einem Applet anzeigen Tools - Maven, Gradle, Ant & mehr 2
M Animation auf einem Hintergrundbild Tools - Maven, Gradle, Ant & mehr 10
J In einem Bean zugriff auf ein SessionBean? Tools - Maven, Gradle, Ant & mehr 6
H Ärger mit einem Chat Tools - Maven, Gradle, Ant & mehr 6
G Problem mit dem schreiben von Datein auf einem Server Tools - Maven, Gradle, Ant & mehr 11
D Problem bei der Ausgabe in einem Applet Tools - Maven, Gradle, Ant & mehr 3
H Open Dialog in einem Applet Tools - Maven, Gradle, Ant & mehr 2
D Größe eines jpeg's in einem Java-Applet ändern ? Tools - Maven, Gradle, Ant & mehr 7
J Email an mehrere Empfänger aus einem Applet abschicken Tools - Maven, Gradle, Ant & mehr 4
J Memberbereich in einem Java Applet ? Tools - Maven, Gradle, Ant & mehr 5
S mouseEntered mit einem Bild im Applet Tools - Maven, Gradle, Ant & mehr 17
G Unerwünschte Applet-Fußzeile bei einem JPopupMenu Tools - Maven, Gradle, Ant & mehr 6
thE_29 Vom Applet aus einem HTML Button Focus geben Tools - Maven, Gradle, Ant & mehr 4
M Eine Datei lesen mit einem Applet (gleicher Server) Tools - Maven, Gradle, Ant & mehr 2
F Ein Bild in einem Applet anzeigen? Tools - Maven, Gradle, Ant & mehr 2
M Textausgabe in einem Applet Tools - Maven, Gradle, Ant & mehr 7
G Bild in einem TextField oder TextArea? Tools - Maven, Gradle, Ant & mehr 3
D Frame oder JFrame von einem Applet aus starten Tools - Maven, Gradle, Ant & mehr 10
B Farbe eines Pixels in einem Applet Tools - Maven, Gradle, Ant & mehr 4
G Kann Pfad zu einem Image auf dem Webserver nicht angeben Tools - Maven, Gradle, Ant & mehr 2
E Seite per Applet in einem bestimmten Frame öffnen Tools - Maven, Gradle, Ant & mehr 2
S Aus einem Applet grafische Fenster bzw. Dialoge öffnen Tools - Maven, Gradle, Ant & mehr 21
D Applet aus einem Agenten heraus aufrufen Tools - Maven, Gradle, Ant & mehr 2
D problem beim auslesen von text aus einem textfeld... Tools - Maven, Gradle, Ant & mehr 15
D Anzeige eines Bildes in einem Applet Tools - Maven, Gradle, Ant & mehr 2
S Probleme mit einem Applet Tools - Maven, Gradle, Ant & mehr 2
M Textdatei von einem Server, innerhalb eines Applets, lesen Tools - Maven, Gradle, Ant & mehr 4
T JApplet in Browserfenster maximieren Tools - Maven, Gradle, Ant & mehr 10
A JApplet Form: JPanel dynamisch füllen Tools - Maven, Gradle, Ant & mehr 3
P JApplet mit Look&Feel? Tools - Maven, Gradle, Ant & mehr 8
S Probleme mit Kombination Java JApplet;MySQL;Webserver Tools - Maven, Gradle, Ant & mehr 3
M Probleme mit JApplet Tools - Maven, Gradle, Ant & mehr 20
G JApplet mit Chat Tools - Maven, Gradle, Ant & mehr 2
C JApplet soll beim Aufruf nicht neustarten Tools - Maven, Gradle, Ant & mehr 3
H JApplet von laufendem JApplet starten Tools - Maven, Gradle, Ant & mehr 8
G JApplet parallel zu Java-Applikation entwickeln Tools - Maven, Gradle, Ant & mehr 11
H JApplet läuft zwar korrekt, bleibt aber unsichtbar Tools - Maven, Gradle, Ant & mehr 3
M JApplet funktioniert nicht Tools - Maven, Gradle, Ant & mehr 5
G Problem mit JApplet bzw Applet Tools - Maven, Gradle, Ant & mehr 5
N Jars in JApplet Tools - Maven, Gradle, Ant & mehr 2
M Unterschiede-Vorteile Applet/JApplet Tools - Maven, Gradle, Ant & mehr 3
D Runnable JApplet mit Bild/Ovals "übermalt" Buttons Tools - Maven, Gradle, Ant & mehr 6
A Tastatureingaben und JApplet Tools - Maven, Gradle, Ant & mehr 2
M eine Frage über JApplet und JMenuBar Tools - Maven, Gradle, Ant & mehr 6
D JApplet & MouseListener Tools - Maven, Gradle, Ant & mehr 5
L Applet oder JApplet Tools - Maven, Gradle, Ant & mehr 10
M JApplet komplett neu zeichnen Tools - Maven, Gradle, Ant & mehr 3
M JApplet läuft in Eclipse, aber nicht in den Browsern Tools - Maven, Gradle, Ant & mehr 7
S JApplet- Komponentenanzeige Tools - Maven, Gradle, Ant & mehr 7
A [GUI] [JApplet] [JDialog] Nochmal die Frage zur Modalität un Tools - Maven, Gradle, Ant & mehr 3
D JApplet Tools - Maven, Gradle, Ant & mehr 11
T Image kreieren mit Maven bei JavaFX und nicht modularen Jars Tools - Maven, Gradle, Ant & mehr 12
N Maven Files mit Jlink Image Tools - Maven, Gradle, Ant & mehr 21
N Maven Jlink Image macht nur .dll Files Tools - Maven, Gradle, Ant & mehr 15
I Simples Runtime Image mit Jlink Tools - Maven, Gradle, Ant & mehr 4
M Maven jpackage-image wird nicht gefunden Tools - Maven, Gradle, Ant & mehr 22
8u3631984 JAR aus anderem Module verwenden für Docker Image Tools - Maven, Gradle, Ant & mehr 0
M Image -> BufferedImage Tools - Maven, Gradle, Ant & mehr 14
P zeitliche Änderung in Random Image Tools - Maven, Gradle, Ant & mehr 2
S Image per Klick unterscheiden Tools - Maven, Gradle, Ant & mehr 6
G Image sichtbar bzw unsichtbar machen? Tools - Maven, Gradle, Ant & mehr 8
M Nachträgliches Konvertieren von GIF/JPG raw-Daten in Image? Tools - Maven, Gradle, Ant & mehr 2
G Wie überprüft man beim Image ob es geklickt wurde? Tools - Maven, Gradle, Ant & mehr 9

Ähnliche Java Themen

Neue Themen


Oben