Container ausgeben
-
Hallo,
Ich bin, was die Klassen von AWT und so angeht, Anfänger.
Ich wollte, damit es mir vertraut wird, in einem Container den Layoutmanager
FlowLayout deklarieren.
Zusätzlich sollten in diesem Container zwei Labels sein, mit der
Aufschrift Label1 bzw. Label2.
Mein Problem ist nun:
Wie gebe ich diesen Container ?
Ich habe das mit
flowlayout.layoutContainer(container);
probiert...
Aber wenn ich nun java graphischeoberflaeche
aurufe, sehe ich keinen Container in meinem vi - Editor (auf dem Bildschirm).
Warum ?
Wahrscheinlich ist das jetzt eine ganz doofe Frage, aber bitte helft mir trotzdem.Harri
Hier ist mein Programm:
import java.awt.Label;
import java.awt.Container;
import java.awt.FlowLayout;public class graphischeOberflaeche
{public static void main ( String argv[])
{
Container container = new Container();
Label label1 = new Label("Label1");
Label label2 = new Label("Label2");
container.add(label1);
container.add(label2);
FlowLayout flowlayout = new FlowLayout();
container.setLayout(flowlayout );
flowlayout.layoutContainer (container);}
}
-
Erstmal solltest du hier im Forum die Code-Tags (oder noch besser die Java-Tags) verwenden, denn dazu sind sie ja da...
Du kannst einen Container nicht einfach so anzeigen lassen. Damit der angezeigt wird musst du ihn zu irgendeinem TopLevelWindow hinzugügen - Im Fall von AWT ist das Dialog, Frame und Window.
Hier das Programm, so wie es sein sollte:import java.awt.*; public class GraphischeOberflaeche { public static void main(String[] args) { //Hier wird ein neues Fenster erzeugt Frame frame = new Frame("AWT Test"); Container container = new Container(); //Mit dieser Zeile setzt man das Layout container.setLayout(new FlowLayout()); Label label1 = new Label("Label1"); Label label2 = new Label("Label2"); container.add(label1); container.add(label2); //Hier wird der Container zum Fenster hinzugefügt frame.add(container); //Nun den Frame noch auf die richtige Größe setzen und sichtbar machen frame.pack(); frame.setVisible(true); } }
* Wenn du mehrere Klassen eines Paketes importieren willst, dann kannst du dafür den "*" verwenden. Das ist dann auch nicht langsamer.
* Klassennamen sollten immer mit einem Großbuchstaben beginnen
* Mann sollte immer wenn man ein Array anlegt die eckigen Klammern an den Klassennamen selbst anhängen nicht an den Variablennamen. (also "String[] args" statt "String args[]")