Marcel: Java Methodik

Hallo,

ich möchte mir eine eigene Klasse basteln: MyJFrame, diese soll auf dem Bildschirm zentrierte MyJFrame Objekte erzeugen und einige andere Eigenschaften setzen. Kurzes Beispiel:

public class MyJFrame extends JFrame{
 public MyJFrame(anderer Input) {
  JFrame f=new JFrame();
                f.centerWindow(f);

}

public void centerWindow(JFrame f){
 }
 public void setTueWas(JFrame f, anderer Input){
                mache visible, setze größe usw....
 }
}

soweit ist das ja murks. weil ich nun in der Klasse in der ich ein Objekt von MyJFrame erzeuge, nach z.Bsp. einem f.add(new JButton....)
das ganze wieder zerschieße(größe ist wieder 0 und der Frametitle auch weg).

Mache ich es so:

public class MyJFrame extends JFrame{
 public MyJFrame(anderer Input) {
                 new JFrame();
 }

public void centerWindow(JFrame f){
 }
 public void setTueWas(JFrame f, anderer Input){
                mache visible, setze größe usw....
 }
}

erzeuge mir dann ein Objekt und setze zum Schluss f.centerWindow und f.setTueWas geht es natürlich. Aber ich kann mir nicht vorstellen, dass das so schön programmiert ist, drum daher die Frage an euch wie macht mans chiq?

VG Marcel

  1. Hallo,

    public class MyJFrame extends JFrame{
    public MyJFrame(anderer Input) {
      JFrame f=new JFrame();
                    f.centerWindow(f);

    }

    Wieso leitest du MyJFrame von JFrame ab, erzeugst im Konstruktor dann
    aber ein eigenes JFrame, das du noch dazu nur in einer lokalen Variable
    ablegst, anstatt es möglicherweise in einem Member abzulegen?

    soweit ist das ja murks. weil ich nun in der Klasse in der ich ein Objekt von MyJFrame erzeuge, nach z.Bsp. einem f.add(new JButton....)
    das ganze wieder zerschieße(größe ist wieder 0 und der Frametitle auch weg).

    Kann dir nicht folgen.
    Kann es sein, daß du sowas wolltest?

      
    public class MyJFrame extends JFrame  
    {  
        public MyJFrame()  
        {  
            centerWindow();  
        }  
      
        public void centerWindow(JFrame f)  
        {  
            setLocation(/* berechnetes x und y */);  
        }  
    }  
    
    

    Mache ich es so:

    public class MyJFrame extends JFrame{
    public MyJFrame(anderer Input) {
                     new JFrame();
    }

    public void centerWindow(JFrame f){
    }
    public void setTueWas(JFrame f, anderer Input){
                    mache visible, setze größe usw....
    }
    }

    Der Code sieht irgendwie noch fälscher als der oben aus :)

    erzeuge mir dann ein Objekt und setze zum Schluss f.centerWindow und f.setTueWas geht es natürlich. Aber ich kann mir nicht vorstellen, dass das so schön programmiert ist, drum daher die Frage an euch wie macht mans chiq?

    Ich hab nicht die geringste Ahnung, was du machen möchtest. Ich vermute
    aber sehr stark, daß du einige Sprachkonzepte noch nicht verinnerlicht
    hast. Vielleicht solltest du ggf. nochmal die Grundlagenkapitel eines
    guten Java-Buches lesen oder alternativ dein eigentliches Ziel _sehr
    genau_ hier beschreiben. Dann kann man dir vielleicht Code-Beispiele
    geben, die das gewünschte erläutern.

    Gruß
    Slyh