Swing Vererben oder nicht?

wolfgang12

Mitglied
Hallo,

habe mir ein paar Tutorials über Swing durchgelesen.
Dabei sind mir 2 Varianten aufgefallen, Swing zu implementieren:

1: per Vererbung

Java:
import javax.swing.JFrame;

public class MyJFrame extends JFrame {
  
  public MyJFrame() {
    this.setTitle( "Ein Titel" );
    this.setSize( 640,480 );
  }
  
  public static void main(String[] arguments) {
    MyJFrame myFrame = new MyJFrame();
    
    myFrame.setVisible( true );
  }
}


2: ohne

Java:
import javax.swing.JFrame;

public class MyJFrame {
  
public static void main(String[] arguments) {

JFrame myFrame = new JFrame("Titel");  
myFrame.setSize( 640,480 );
myFrame.setVisible( true );
  }
}


Was ist besser (eleganter, schöner, einfacher, logischer, effektiver)?


Ich bedanke mich 😀
 
Zuletzt bearbeitet:
Ich bevorzuge Lösung 2, da man idr. Komposition der Vererbung bevorzugen soll. Deine Klasse ist ja in dem Sinne auch kein wirklicher JFrame, sondern benutzt diesen nur zur Darstellung.
 
Eine Anwendung benutzt ein Frame, sie ist keins. Wenn ich die "Fähigkeiten" einer JComponent erweitere, verwende ich Vererbung, sonst nicht. Und wer weiß, vielleicht muss die Anwendung ja mal als Applet, auf einer Konsole oder headless laufen...
 

Zurück
Oben