Wie lässt man ein Applet, in einem JFrame erscheinen?

Status
Nicht offen für weitere Antworten.

Developer_X

Top Contributor
der titel ist meine Frage,
man muss doch irgendwie mithilfe eines "Rectangles" ein Applet innerhalb eines JFrames ersccheinen lassen können, wie danke für all eure Antworten,..
 

L-ectron-X

Gesperrter Benutzer
Ist das ein AWT-Applet oder ein JApplet?
Hast du das Applet geschrieben, oder ist es ein fremdes Applet, welches du in einen JFrame einbetten willst?
 

babuschka

Top Contributor
Aus der API ist zu entnehmen, dass ein (J)Applet von java.awt.Panel abgeleitet ist. Du müsstest es also problemlos in Deinem JFrame einbetten können (add(deinApplet));
 

L-ectron-X

Gesperrter Benutzer
Das ist richtig, legt aber gleichzeitig Stolperdrähte aus.
Die Methoden das Applet-Lebenszyklus müssen dann vom Programmierer aufgerufen werden, sonst passiert gar nichts.

Mach das lieber etwas anders:
Schreib dir

1. ein ganz normales Panel, welches den Inhalt bekommen soll
2. ein Applet, welchem du dieses Panel hinzufügst und
3. einen Frame, dem du dieses Panel hinzufügst.

Wenn du dann daraus noch eine Jar-Datei machen willst, setzt du im Manifest noch die Main-Class. Das Applet wird sowieso über eine Webseite gestartet.

BTW AWT- und Swing-Komponenten sollten nicht miteinander gemischt werden.
 
S

Spacerat

Gast
Noch viel schwieriger dürfte es sein, Instanzen von AppletStub und AppletContext zu bekommen, um z.B. die Vorzüge von "getClip()" usw. zu verwenden (sonst würde man ja kein Applet in einem normalen (J)Frame verwenden wollen/müssen/brauchen/owai). Lässt man ein Applet in einem normalen (J)Frame als Anwendung laufen, werden diese nämlich nicht durch den AppletViewer instanziert. Ich jedenfalls musste das bisher immer selbst machen. Hat da vllt. jemand ein Vorschlag ob das irgendwie automatisch geht (ohne AppletViewer)?
 
Zuletzt bearbeitet von einem Moderator:

Developer_X

Top Contributor
ja also hört mal, mir ist was aufgefallen, ihr kennt mein Problem bestimmt alle von meinem vorherigen Thread http://www.java-forum.org/java-basics-anfaenger-themen/80945-help-applets-please.html
auf jeden fall, mir ist was klar geworden, wenn ich das wie folgt mache, wird das Applet gestartet, die einzelnen sachen passieren auch, aber das TextField und so wird net angezeigt, wiesO?
Code:
import java.awt.BorderLayout;

import javax.swing.JFrame;

public class Chat 
{
	
	public static void main(String[]args) 
	{
		JFrame f = new JFrame();
		f.setVisible(true);
		chatapplet app = new chatapplet();
		f.setLayout(new BorderLayout());
		f.add(app, BorderLayout.CENTER);
    }
}
Code:
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Event;
import java.awt.Font;
import java.awt.TextArea;
import java.awt.TextField;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.net.Socket;

public class chatapplet extends Applet implements Runnable
{
	public static final int PORT = 2;
	Socket socket;
	DataInputStream in;
	PrintStream out;
	TextField inputfield;
	TextArea outputarea;
	Thread thread;

	
	public void init()
	{

		inputfield = new TextField();
		outputarea = new TextArea();
		outputarea.setFont( new Font("Dialog", Font.PLAIN, 12));
		outputarea.setEditable(false);
		
		this.setLayout(new BorderLayout());
		this.add("South", inputfield);
		this.add("Center", outputarea);
		
		this.setBackground(Color.lightGray);
		this.setForeground(Color.black);
		inputfield.setBackground(Color.white);
		outputarea.setBackground(Color.white);
	}

	public void start()
	{
		
		try
		{
			socket = new Socket(this.getCodeBase().getHost(), PORT);
			in = new DataInputStream(socket.getInputStream());
			out = new PrintStream(socket.getOutputStream());
		} catch (IOException e)
		{
			this.showStatus(e.toString());
			say("Verbindung zum Server fehlgeschlagen!");
			System.exit(1);
		}

		say("Verbindung zum Server aufgenommen...");

		if (thread == null)
		{
			thread = new Thread(this);
			thread.setPriority(Thread.MIN_PRIORITY);
			thread.start();
		}
	}


	public void stop()
	{
		try
		{
			socket.close();
		} catch (IOException e)
		{
			this.showStatus(e.toString());
		}

		if ((thread !=null) && thread.isAlive())
		{
			thread.stop();
			thread = null;
		}
	}


	public void run()
	{
		String line;

		try
		{
			while(true)
			{
				line = in.readLine();
				if(line!=null)
					outputarea.appendText(line+'\n' );
			}
		} catch (IOException e) { say("Verbindung zum Server abgebrochen"); }
	}


	public boolean action(Event e, Object what)
	{
		if (e.target==inputfield)
		{
			String inp=(String)"Imperator: "+ e.arg;

			out.println(inp);
			inputfield.setText("");
			return true;
		}

		return false;
	}

	public void say(String msg)
	{
		outputarea.appendText("*** "+msg+" ***\n");
	}
	public static void main()
	{
		new chatapplet();
	}
}

Aber dann bin ich auf die Idee gekommen, alles, was in der start() methode steht,
mal in der public methode zu versuchen, dann erschien zwar das textfield, aber der rest funktionierte nicht, man konnte keine nachricht eingeben usw...
wieso?
Code:
import java.applet.Applet;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Event;
import java.awt.Font;
import java.awt.TextArea;
import java.awt.TextField;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.net.Socket;

public class chatapplet extends Applet implements Runnable
{
	public static final int PORT = 2;
	Socket socket;
	DataInputStream in;
	PrintStream out;
	TextField inputfield;
	TextArea outputarea;
	Thread thread;

	
	public void init()
	{

		inputfield = new TextField();
		outputarea = new TextArea();
		outputarea.setFont( new Font("Dialog", Font.PLAIN, 12));
		outputarea.setEditable(false);
		
		this.setLayout(new BorderLayout());
		this.add("South", inputfield);
		this.add("Center", outputarea);
		
		this.setBackground(Color.lightGray);
		this.setForeground(Color.black);
		inputfield.setBackground(Color.white);
		outputarea.setBackground(Color.white);
	}

	public void start()
	{
		
		try
		{
			socket = new Socket(this.getCodeBase().getHost(), PORT);
			in = new DataInputStream(socket.getInputStream());
			out = new PrintStream(socket.getOutputStream());
		} catch (IOException e)
		{
			this.showStatus(e.toString());
			say("Verbindung zum Server fehlgeschlagen!");
			System.exit(1);
		}

		say("Verbindung zum Server aufgenommen...");

		if (thread == null)
		{
			thread = new Thread(this);
			thread.setPriority(Thread.MIN_PRIORITY);
			thread.start();
		}
	}


	public void stop()
	{
		try
		{
			socket.close();
		} catch (IOException e)
		{
			this.showStatus(e.toString());
		}

		if ((thread !=null) && thread.isAlive())
		{
			thread.stop();
			thread = null;
		}
	}


	public void run()
	{
		String line;

		try
		{
			while(true)
			{
				line = in.readLine();
				if(line!=null)
					outputarea.appendText(line+'\n' );
			}
		} catch (IOException e) { say("Verbindung zum Server abgebrochen"); }
	}


	public boolean action(Event e, Object what)
	{
		if (e.target==inputfield)
		{
			String inp=(String)"Imperator: "+ e.arg;

			out.println(inp);
			inputfield.setText("");
			return true;
		}

		return false;
	}

public chatapplet()
{
inputfield = new TextField();
		outputarea = new TextArea();
		outputarea.setFont( new Font("Dialog", Font.PLAIN, 12));
		outputarea.setEditable(false);
		
		this.setLayout(new BorderLayout());
		this.add("South", inputfield);
		this.add("Center", outputarea);
		
		this.setBackground(Color.lightGray);
		this.setForeground(Color.black);
		inputfield.setBackground(Color.white);
		outputarea.setBackground(Color.white);
}
	public void say(String msg)
	{
		outputarea.appendText("*** "+msg+" ***\n");
	}
	public static void main()
	{
		new chatapplet();
	}
}
Das hat auch nicht funktioniert,
kann mir einer jetzt einen Ratschlag geben?
 
Zuletzt bearbeitet von einem Moderator:

Leroy42

Top Contributor
ja also hört mal, mir ist was aufgefallen, ihr kennt mein Problem bestimmt alle von meinem vorherigen Thread "Help with Applets!!! PLEASE"

Oh! Entschuldige bitte, das wir nicht alle deine/n vorherige/n Thread(s) im Kopf haben :oops:;
aber wir versprechen uns zu verbessern. Ehrlich! :eek:

auf jeden fall, mir ist was klar geworden, wenn ich das wie folgt mache, wird das Applet gestartet, die einzelnen sachen passieren auch, aber das TextField und so wird net angezeigt, wiesO?
...

Aber dann bin ich auf die Idee gekommen, alles, was in der start() methode steht,
mal in der public methode zu versuchen, dann erschien zwar das textfield, aber der rest funktionierte nicht, man konnte keine nachricht eingeben usw...
wieso?
...
Das hat auch nicht funktioniert,
kann mir einer jetzt einen Ratschlag geben?


Ja, mach ich gerne! :D

Benutze einfach nur dann Applets wenn sie auch durch einen Browser genutzt
werden sollen. Wenn du unabhängig sein willst, realisier deine Anwendung in einem
gewöhnlichen (J)Panel, der dann je nach Notwendigkeit von einem Applet
oder einem (J)Frame eingebunden wird.
 

Developer_X

Top Contributor
sorry, das geht aber nur mit applet, dieses chatapplet, kann mir keiner hier von diesem ganzem Forum eine für euch ganz einfache Frage eine Antwort geben, was ich falsch mache?
 

Developer_X

Top Contributor
doch das tue ich, ich versuche das Applet einzufügen in ein JFrame
wie geht das?

das Applet soll angezeigt werden im JFrame, und funktionierend sein
 
Zuletzt bearbeitet von einem Moderator:

L-ectron-X

Gesperrter Benutzer
Kann ich mir angesichts der hier von dir durchgezogenen Odyssee und deinen Programmierkenntnissen nicht vorstellen.
Wenn du wirklich eine Lösung hast, wären sicher die Benutzer, die ein ähnliches Problem haben und hier danach suchen, dankbar, wenn du sie mit ihnen teilst.
 

Der Müde Joe

Top Contributor
>Kann ich mir angesichts der hier von dir durchgezogenen Odyssee und deinen Programmierkenntnissen nicht vorstellen.

Homer (nein, nicht der gelbe) wäre entzückt .... :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Erste Schritte Java Applet lässt sich im Browser nicht öffnen Java Basics - Anfänger-Themen 9
A Scrollen im Browser lässt Applet neu starten? Java Basics - Anfänger-Themen 14
R Applet lässt sich nicht kompilieren Java Basics - Anfänger-Themen 4
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
F abbruch Exception lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
G jar file lässt sich nicht öffnen Java Basics - Anfänger-Themen 1
J Mein Java Programm lässt sich nicht mehr bearbeiten Java Basics - Anfänger-Themen 2
I Probleme mit OutputStream - Datei lässt sich nicht öffnen Java Basics - Anfänger-Themen 4
E Warum lässt sich eine Klasse nicht starten, wenn eine andere Klasse in dem Modul fehlerhaft ist? Java Basics - Anfänger-Themen 1
H Liste speichern. Was lässt sich verbessern? Java Basics - Anfänger-Themen 7
Franzi1001 ScrollBar lässt sich nicht bewegen Java Basics - Anfänger-Themen 4
C Classpath Compiler lässt sich nur bedingt von Kommandozeile aus starten Java Basics - Anfänger-Themen 17
CptK Datentypen Objekt lässt sich nicht zu arraylist hinzufügen Java Basics - Anfänger-Themen 2
L Mein Taschenrechner lässt sich plötzlich nicht mehr öffnen Java Basics - Anfänger-Themen 5
P jar file lässt sich nicht ausführen Java Basics - Anfänger-Themen 4
L Programm lässt sich nicht starten! Java Basics - Anfänger-Themen 1
pkm Interface Funktionales Interface lässt sich nicht implementieren. Java Basics - Anfänger-Themen 2
x-tshainge Mein Programm lässt sich nicht Starten Java Basics - Anfänger-Themen 8
B Classpath Class lässt sich nicht öffnen Java Basics - Anfänger-Themen 3
E App lässt sich nicht starten Java Basics - Anfänger-Themen 8
E Pdf-Document lässt sich im Servlet nicht öffnen Java Basics - Anfänger-Themen 5
X Streams und Ausgabe - lässt sich das einfacher schreiben oder schöner schreiben? Java Basics - Anfänger-Themen 5
J Java Datei lässt sich nicht kompilieren Java Basics - Anfänger-Themen 3
J Reihenfolge im Vector lässt sich nicht drehen Java Basics - Anfänger-Themen 9
J Wie lässt sich der Konstruktor einer Klasse einer Funktion einer Klasse nutzen. Java Basics - Anfänger-Themen 4
M Array mit Objekten lässt sich nicht auslesen Java Basics - Anfänger-Themen 10
T Scanner lässt sich nicht importieren Java Basics - Anfänger-Themen 1
P Programm lässt sich nicht starten - Klasse mit Hauptmethode nicht gefunden Java Basics - Anfänger-Themen 9
B Compiler-Fehler [Lejos] [RCX] Programm lässt sich nicht kompilieren Java Basics - Anfänger-Themen 5
N Von Kopf bis Fuss TestArrays lässt sich nicht lösen Java Basics - Anfänger-Themen 5
S Rückgabe-Array lässt sich nicht auslesen, LocalDate mit String Java Basics - Anfänger-Themen 3
G Java lässt sich nicht installieren Java Basics - Anfänger-Themen 1
L0MiN Datei lässt sich nicht ausführen Java Basics - Anfänger-Themen 3
A charAt(x)-Abfrage lässt bei Strings<x das Pgrogramm abstürzen. Kann man das verhindern? Java Basics - Anfänger-Themen 4
A Java-Zeilenprogramm lässt sich nicht exportieren Java Basics - Anfänger-Themen 13
J Klick auf Button -> JFrame öffnet sich erneut. & Datei lässt sich nicht löschen Java Basics - Anfänger-Themen 7
A Lässt sich dieser Ausdruck irgendwie einfacher schreiben? Java Basics - Anfänger-Themen 4
E jar lässt sich nicht ausführen Java Basics - Anfänger-Themen 16
V Compiler-Fehler Programm lässt sich nicht kompilieren Java Basics - Anfänger-Themen 22
S jar Datei lässt sich nur über CMD starten Java Basics - Anfänger-Themen 15
M Java Class File lässt sich nicht ausführen Java Basics - Anfänger-Themen 3
H Java Archiv lässt sich nur pfadgebunden öffnen? Java Basics - Anfänger-Themen 26
D Datentypen Abstrakter Datentyp lässt sich nicht casten Java Basics - Anfänger-Themen 7
B Methoden Methode lässt sich nicht selbst aufrufen? Java Basics - Anfänger-Themen 3
M Datei lässt sich nicht löschen Java Basics - Anfänger-Themen 17
M Variablen Variable lässt sich durch ActionListener nicht ändern Java Basics - Anfänger-Themen 5
Y .class Ausführung nicht möglich - Path lässt sich nicht ändern Java Basics - Anfänger-Themen 8
F Textfenster lässt sich nicht schließen Java Basics - Anfänger-Themen 3
J Classpath Programm lässt sich nicht ausführen Java Basics - Anfänger-Themen 5
H programm lässt sich nicht compilieren Java Basics - Anfänger-Themen 7
W [Java Archive (JAR) Datei erstellen] Lässt sich nicht ausfürhren Java Basics - Anfänger-Themen 7
M selbst gezipptes File lässt sich nicht öffnen Java Basics - Anfänger-Themen 2
U String lässt sich nicht in txt datei schreiben! Java Basics - Anfänger-Themen 7
R jLabel lässt sich nicht public setzen?? Java Basics - Anfänger-Themen 15
L Programm lässt sich nicht starten Java Basics - Anfänger-Themen 9
hdi File lässt sich nicht erstellen Java Basics - Anfänger-Themen 3
S (Anfänger) problem Programm lässt sich nicht öffnen! Java Basics - Anfänger-Themen 6
S Aufgabe gelöst, lässt sich aber nicht kompilieren Java Basics - Anfänger-Themen 3
S ArrayList länge lässt sich nicht voreinstellen Java Basics - Anfänger-Themen 10
N Startklasse lässt sich nicht ausführen Java Basics - Anfänger-Themen 17
D Sehr großer String lässt sich nicht bearbeiten Java Basics - Anfänger-Themen 7
F jTextField lässt sich aus einer Unterklasse nicht ansprechen Java Basics - Anfänger-Themen 2
T TreeMap lässt sich nicht sortieren Java Basics - Anfänger-Themen 8
G Generics - Map.putAll lässt sich nicht richtig implementiern Java Basics - Anfänger-Themen 6
U jarfile lässt sich nicht ausführen Java Basics - Anfänger-Themen 5
N jar lässt sich nicht öffnen Java Basics - Anfänger-Themen 7
G Fenster lässt sich nicht schließen. Java Basics - Anfänger-Themen 4
G Datei lässt sich nicht ändern Java Basics - Anfänger-Themen 12
S Hintergrundfarbe lässt sich nicht ändern Java Basics - Anfänger-Themen 3
M Textare lässt sich nicht ansprechen Java Basics - Anfänger-Themen 9
G button grösse lässt sich nicht verstellen Java Basics - Anfänger-Themen 9
G Programm lässt sich nicht aus der Konsole starten Java Basics - Anfänger-Themen 2
S Hintergrundfarbe lässt sich nicht ändern Java Basics - Anfänger-Themen 2
N jar Datei lässt sich nicht öffnen Java Basics - Anfänger-Themen 3
M Checkboxarray lässt sich nicht füllen Java Basics - Anfänger-Themen 8
R Image lässt sich nicht in ein Panel einfügen Java Basics - Anfänger-Themen 3
A in BufferdImage lässt sich nicht Zeichnen Java Basics - Anfänger-Themen 2
K package lässt sich nicht implementieren Java Basics - Anfänger-Themen 3
V public class lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
G erzeugtes file lässt sich nicht löschen Java Basics - Anfänger-Themen 2
R Ojekt lässt sich nicht speichern! Java Basics - Anfänger-Themen 9
M Wie lässt man eine Methode warten ohne Threads zu benutzen? Java Basics - Anfänger-Themen 8
M Java-Applet zur Mittelwertberechnung Java Basics - Anfänger-Themen 3
D Java Applet wird nicht im Browser angezeigt Java Basics - Anfänger-Themen 6
M bestehendes Projekt als Applet speichern Java Basics - Anfänger-Themen 2
S Erste Schritte Java - Applet - Rechteck ständig versetzen Java Basics - Anfänger-Themen 14
A Applet Plot für atan erstellen Java Basics - Anfänger-Themen 1
K JDK installieren displays java applet für MAC Java Basics - Anfänger-Themen 10
S Zeichen von abgerundeten Rechtecken auf einem Applet Java Basics - Anfänger-Themen 5
J Einfache einbindung eines Bildes in ein Applet Java Basics - Anfänger-Themen 4
S Klassen Applet extern aufrufen Java Basics - Anfänger-Themen 1
J Erstes Applet läßt sich nicht anzeigen Java Basics - Anfänger-Themen 2
C Applet Probleme Java Basics - Anfänger-Themen 1
A Compiler-Fehler Problem beim einbinden der applet Klasse Java Basics - Anfänger-Themen 2
M Erste Schritte Java Applet - HTML Seiten auslesen und in Access Datenbank schreiben? Java Basics - Anfänger-Themen 15
G Applet in ein JSP einbinden Java Basics - Anfänger-Themen 1
C Java-Applet Fehler "NoClassDefFoundError"? Java Basics - Anfänger-Themen 1
C Java Applet Fragen: Serialisierung, Excel import Java Basics - Anfänger-Themen 2
C Kalender in Applet einfügen Java Basics - Anfänger-Themen 0
J JavaScript findet Applet Methode nicht Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben