JButton auf mein JFrame plazieren

swerflash

Mitglied
Hallo :p ,

ich habe ein JFrame erstellt und versuche auf mein JFrame mein JButton zu plazieren.

Code:
import javax.swing.JButton;
import javax.swing.JFrame;
 
public class myFrame extends JFrame
{
public myFrame()
{
setSize(300,200);
setVisible(true);
setUndecorated(true);
 
JButton jb = new JButton();
add(jb);
}
 
public static void main(String args[])
{
myFrame mf = new myFrame();
}
}

Funktioniert noch nicht, da ich einiges nicht ganz verstehe. Ich möchte deshalb dieses Beispiel auseinander nehmen und aufschreiben wie ich das verstehe.
1.
Code:
public class myFrame extends JFrame
--hier erbts meine erfundene myFrame Klasse alle eigenschaften von JFrame(Klasse?)
2.
Code:
public myFrame()
--hier erstelle ich meine Funktion myFrame(kann ich sie nennen wie ich will, oder muss sie so heissen wie meine Klasse oben? Und warum?

3.
Code:
setSize(300,200);
--da ich jetzt extends benutzt habe, muss ich mein myFrame nicht aufrufen und kann direkt Methoden von JFrame benutzen. Was ist in diesem Fall myFrame und JFrame(ein Objekt?)
4.
Code:
JButton jb = new JButton();
add(jb);
--Was ist JButton in diesem Fall, ein Component des Objektes JFrame? Was ist ein Component, ein weiteres Objekt, der zu einem bestimmten Objekt gehört? Falls ja, warum kann ich mein JButton nicht mit dem Befehl add(jb) zu meinem Frame hinzufügen?

Danke im Voraus.
 
Hallo


also myFrame() wäre in diesem Fall der Konstruktor der Klasse myFrame,
der die Klasse dann initialisiert beim Aufruf.

Wenn du Swing Komponenten benutzt musst du auf jeden fall erst den Container erstellen
oder direkt hinzufügen.
Entweder Container contentpane = getContentPane wenn du direkt aus JFrame erbst
oder frame.getContentPane.add(jb)


Am besten du schaust dir mal das Tutorial bei Sun an, da gibt es jede Menge zu Swing
dort erfährst du dann auch alles
Hier der Link http://java.sun.com/docs/books/tutorial/uiswing/index.html
 
Hallo,

leider ist mein Englisch zu schlecht um das zu verstehen was auf der Seite steht. Könntest du mir vieleicht ein Biespiel aufschreiben, wie das gehen würde? Ich schaue mir gerade Java ist auch eine Insel von galileo an, aber hänge jetzt an diesem Punkt, da ich nicht genau verstehe bzw weiss wie das funktioniert. Und falls mir jemand Antworten auf meine Fragen geben könnte, wäre ich ihm sehr dankbar.

MFG
 
Hallo,

also ich habe jetzt hingekriegt mit getContentPane() und habe jetzt noch 2 weitere Fragen:)
Code:
import javax.swing.JButton;
import javax.swing.JFrame;

public class myFrame extends JFrame
{
 public myFrame()
 {
  setSize(300,200);
  setVisible(true);

  JButton jb = new JButton();
  getContentPane().add(jb);
  jb.setLabel("Test");
  jb.setSize(100,50);
  jb.setLocation(50,50);
  jb.setVisible(true);
 }
 
 public static void main(String args[])
 {
  myFrame mf = new myFrame();
 }
}



5.Warum brauche ich getContentPane()? Wenn ich dich richtig verstanden habe, ist das ein Container, aber wofür wird er benötigt?
6.
Code:
jb.setLabel("Test");
Was ist an dieser Zeile falsch, er hat das zwar gemacht, unterstreicht das aber gelb.

Danke im Voraus.
 
Hallo Swerflash,

ich habe dir drei deutsche Onlinebücher vorgestellt. Schau einfach ins Inhaltsverzeichnis oder im Index nach JButton. Dort wirst du dann die korrekte Anwendung von JButton sehen. Da wirst du unter anderem sehen das einem Button der Name anders vergeben wird.

http://www.galileocomputing.de/open...sel15_006.htm#Rxx747java150060400053E1F024100
Beispielsweise bei Java Insel. Wie wurde hier dem Button der Name "Ende" vergeben. Eben so solltest du es auch mit deinem machen.

Hier nochmal die anderen deutschen Bücher:
http://www-sst.informatik.tu-cottbus.de/~an/Books/HJP/html/cover.html
http://www.dpunkt.de/java/index.html
http://www.highscore.de/

Vg Erdal
 

Neue Beiträge

Zurück