super () Funktion in JAVA

7

Schaltflächenklasse:

%Vor%

Wo ich es erkläre:

%Vor%

Wie setzt super (Titel) den String-Titel auf den Titel der Schaltfläche? Wie macht es dasselbe wie die Methode .setText () für reguläre JButtons?

Mit anderen Worten, wie hat das Aufrufen von super () dasselbe getan wie .setText () Wie kann super () den Titel ändern? ist .setText () die einzige Methode in der JButton-Klasse, die einen String als Parameter akzeptiert?

    
Devoted 20.12.2008, 03:36
quelle

6 Antworten

23
  • SubmitButton erweitert JButton
  • JButton hat einen Konstruktor, der so aussehen könnte (vereinfacht):

    %Vor%
  • SubmitBUtton hat einen Konstruktor:

    %Vor%

Der SubmitButton-Konstruktor ruft den Superklassen (JButton) -Konstruktor auf, der wiederum setText aufruft. Jetzt intern könnte JButton anders funktionieren, aber der Effekt ist der gleiche.

Der allgemeine Punkt ist, dass super (...) den Superklassenkonstruktor aufruft.

    
Draemon 20.12.2008, 03:49
quelle
7

JButton ist eine zentrale Java Swing-Klasse, die mehrere Konstruktoren unterstützt. Einer dieser Konstruktoren ermöglicht Ihnen, den Text für die Schaltflächenbeschriftung festzulegen.

Beim Hinzufügen von super (title) wurde tatsächlich kein Aufruf ausgeführt - der Konstruktor des übergeordneten Elements wäre trotzdem aufgerufen worden, aber es hat geholfen, auszuwählen, welcher Konstruktor aufgerufen wird.

Mit der Funktion setText () können Sie den Text nach dem Erstellen der Schaltfläche ändern (normalerweise), bevor er angezeigt wird.

    
Uri 20.12.2008 03:46
quelle
4

Wenn der SubmitButton mit dem Konstruktor SubmitButton (String title) initialisiert wird, rufen Sie den Konstruktor parent / super class mit dem Titel auf. Wenn Sie nicht den Super (Titel) angeben, fügt der Java-Compiler automatisch den Code ein, um den Standardkonstruktor der Superklasse aufzurufen. Dann würde der Titel beim Erstellen des SubmitButton nicht gesetzt werden.

Auch die Oberklasse (JButton) könnte den .setText (string) innerhalb ihres Konstruktors verwenden und deshalb führt sie die gleiche Funktion aus (muss die tatsächliche Java-Quelle betrachten).

Ссылка
Ссылка

    
kevindaub 20.12.2008 03:49
quelle
2

In allen Fällen in Java ruft dieser Aufruf von super() den Haupttarif der Elternklasse auf. Wie bei allen Funktionen entspricht das Java-Muster beim Aufruf eines ctor den Namen und Parametertypen. JButton deklariert einen ctor mit einem string-Argument. Wenn Sie also super(title) aufrufen, rufen Sie den Konstruktor für die direkte Superklasse (JButton) auf, der ein einzelnes string-Argument verwendet.

    
Charlie Martin 20.12.2008 03:52
quelle
1

Ссылка

(Kopieren Sie die gesamte URL, aus irgendeinem Grund ist der String-Teil nicht verknüpft)

Es ruft den in der oben verlinkten JButton-Klasse definierten Konstruktor auf, der den Text der Schaltfläche auf den übergebenen String setzt. super () ist ein Aufruf eines Superklassenkonstruktors.

    
cliff.meyers 20.12.2008 03:45
quelle
0

Ich persönlich habe das gelöst, indem ich Titel statt Text gesetzt habe.

static String Titelname="Einige Titel"; Super (Titelname);

Dann auf Ihre Schaltfläche oder wo auch immer die Aktion stattfinden sollte.

setTitle ("Neuer Titel");

Das funktioniert für mich. : -)

    
gcclinux 14.12.2015 15:04
quelle

Tags und Links