Appletumgang

Status
Nicht offen für weitere Antworten.

Stephan

Mitglied
Hallo :)
ich habe die mühseelige Aufgabe mich in Applets reinzufuchsen und hab ein paar kleine Grundsatzfragen, die mir während meiner ersten Schritte begenet sind. Ich hab auch schon nach alten Themen mit gleichem Inhalt gesucht, aber nicht gefunden... sicherlich ist es zu einfach ;) - dementsprechend kurz brauche ich auch nur die Antworten ;)

Wenn ich mein Applet folgendermaßen in HTML einbinde
Code:
<applet code="such.class" name="such" width="300" height="300">Ihr Browser unterstützt kein Java.</applet>
dann stellt sich mir die Frage: welche Methode in der Klasse "such" wird denn bei Laden der Seite aufgerufen? Gibt es da eine Standartfuntktion oder nimmt er die erste, oder ruft er ohne mein Zutun schonmal garnichts auf und zeigt nur ein graues Fenster....?

Konkretes Problem Nr. 2: Wenn ich etwas direkt im Fenster ausgeben will (ohne Dialogfenster): muss ich dass dann unbedingt über dieses komische "drawString" machen und wie genau funktioniert das eigentlich? Ich will z.B. noch was formatieren, was sich so aber dann nicht machen lässt...

Noch was blödes: Wie ändere ich diesen hässlichen Grauen Hintergrund? Und wie binde ich darauf Grafiken ein?

ok ok... ich weiß dass das jetzt alles mal so richtig einfach ist für euch, aber ich bitte euch trotzdem kurze Antworten zu geben (mit denen ICH was anfangen kann!!! ;)) Sowas wie: "Bist du doof - haben wir schon 1000x besprochen" oder "Wer lesen kann ist klar im Vorteil" oder "Lies die API!" würd ich ziemlich blöd finden... :(

Thx schonmal im Voraus!!!

Stephan
 
B

Beni

Gast
Als erste Methode wird "init" des Applets aufgerufen (ok, der Konstruktor kommt noch früher dran).

Da ein Applet eine Component ist, kannst du auf ein Applet andere Components setzen, Button, Label, Textfield... Guck dir mal die Klassenhierarchy an: hier

Und: wenn du ein JApplet nimmst, kannst du auch mit Swing arbeiten :wink:
 

Chucky

Aktives Mitglied
Moin,
klar gibt es mehrere Möglichkeiten etwas in einem JApplet auszugeben bzw einzulesen:
Zum einen über sog. Components:
JLabel, JTextPane, JTexField etc....
Die Methode die du angesprochen hast soll denke ich eher einer "Beschriftung" dienen.
Sie wird in der Methode public void paint(Graphics g) verwendet.
Die Graphics Klasse stellt dir dann mehrere "Zeichenmethoden" bereit unter anderem auch die
von dir angesprochene Methode drawString(String arg0, int arg1, int arg2)
schau einfach mal ins Javabuch unter GUI's bzw Applets.

LG Chucky

edit: mist da war jemand schneller :)
 

Stephan

Mitglied
Ich danke euch!! Damit habt ihr mir ernsthaft weitergeholfen. Es ist verflixt, aber bei solchen neuen Sachen scheitert es immer an den Grundsatzfragen, weil die selten irgendwo wirklich ausführlich erklärt sind :)
 

Stephan

Mitglied
Sry, aber mal eine andere Frage: wird der Konstruktor immer wieder aufgerufen, wenn ich das Fenster minimiere und dann wieder maximiere?? Fänd ich ja echt komisch :roll:

Drauf komm ich weil hier
Code:
import java.applet.Applet;
import java.awt.Graphics;
import javax.swing.JOptionPane;

public class such extends Applet
{
 //Konstruktor
 such()
 {
  JOptionPane.showMessageDialog(null,"Hallo");
 } 
 //Startanzeige
 public void paint(Graphics g)
 {
  g.drawString("Unser Tauschkatalog",5,20);
 }

}
jedes mal wieder "Hallo"-Message kommt wenn ich das tue...
 

Chucky

Aktives Mitglied
Das is komisch bei mir hat er vorher wos noch nich public war
ne IllegalAccessException geschmissen aber danach gings ohne Problem.

LG Chucky
 
B

Beni

Gast
@Chucky, du hast einen kranken Avatar.
@INvenTor_tERRORis, du hast einen kranken Nick.

So, nachdem das geklärt wäre :bae: , mit welchem Browser arbeitet ihr? Inventor, probier dochmal einen anderen aus.

Und: ich hab das Problem auch nicht nachbasteln können :cry:
 

Stephan

Mitglied
kk ;) - es lag wohl am Cache :) danke!! :)

Ich hab IE v6.[undsoweiter]... installiert auch noch Firefox - mag den aber nicht soooo sehr :)
 

Stephan

Mitglied
Irgendwie hab ich Probleme beim Anordnen der Komponenten. Selbst mit JBuilder kann ich die einfach nicht so anordnen wie ich will. Die bleiben einfach immer alle oben in einer Reihe *grml*
 
B

Beni

Gast
Hört sich so an, als hättest du einen LayoutManage gesetzt. Ein LayoutManage sorgt dafür, dass die Componenten eine bestimmte Position und Grösse haben.

Du kannst mal ausprobieren, was passiert, wenn du bei der Parent-Component "setLayout( null )" aufrufst. (oder irgendeinen LayoutManage anstelle von null einsetzt).
 
Status
Nicht offen für weitere Antworten.

Oben