Frage zur Klasse



  • hi.. ich versuche mich gerade in java etwas reinzufinden und habe da gleich am anfang mal eine frage.. folgender code:

    class MyWindow extends Frame{
      public void MyFrame() {
          Frame f = new Frame("Mein Fenster"); //Punkt 1
          f.setLayout(new FlowLayout());
          Button b = new Button("Ok"); //Punkt 2
          Button a = new Button("Abbrechen");  //Punkt 3
          f.add(b);
          f.add(a);
          f.setLocation(380, 300); //Punkt 4
          f.setSize(300, 150);  //Punkt 5
          f.setVisible(true);
      }
    }
    
    class fenster {
      public static void main(String[] args) {
      MyWindow m= new MyWindow();
      m.MyFrame();
      }
    }
    

    ich wollte mal fragen, was ich machen muss, um Punkt1 - Punkt5 erst in main setzen zu müssen.. also in der klasse MyWindow soll alles drin bleiben, nur z.b. die beschriftung der buttons und so, soll erst in main geschehen..
    kann mir da einer einen tip geben?



  • Dein Hauptproblem scheint wohl zu sein, dass du die Eigenschaften von f im Konstruktor von MyFrame nicht nach aussen sichtbar machst.

    Mich wundert bei deinem Code allerdings, warum du MyFrame von Frame ableitest und dann im Konstruktor einen anderen Frame erstellst.

    Was willst du machen?

    - Sollen wirkllich zwei Frame-Objekte existieren oder
    - willst du eigentlich nur MyFrame haben?

    Im ersteteren fall musst du wohl f als Attribut von MyFrame anlegen und dann alle Werte die du einstellen willst nach aussen hin sichtbar machen.

    Im zweiten Fall sollstest du auf f ganz verzichten und mit den Methoden von MyFrame arbeiten.

    /Dirk


Anmelden zum Antworten