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[]")


Anmelden zum Antworten