super () - Funktion in JAVA
Button-Klasse:
class SubmitButton extends JButton implements ActionListener {
public SubmitButton(String title){
super(title);
....
Wo ich erkläre es:
SubmitButton submit = new SubmitButton("Submit");
submit.setBounds(530+150, 200, 100, 25);
Wie funktioniert super(title) setzt den String Titel, um der Titel der Schaltfläche? Wie tut es das gleiche wie die Methode .setText() für die regelmäßige JButtons?
In anderen Worten, wie kam Aufruf von super() tun die gleiche Sache wie .setText()
wie funktioniert super() wissen, um den Titel ändern? ist .setText() die einzige Methode, in der JButton-Klasse, die string als parameter?
- Hier zuallererst möchte ich Ihnen einige Wechsel in Frage, hier finden Sie super () als Funktion, aber es ist Methode.
Du musst angemeldet sein, um einen Kommentar abzugeben.
JButton hat einen Konstruktor, der könnte so Aussehen (vereinfacht):
SubmitButton festgelegt hat einen Konstruktor:
Den submitButton festgelegt Konstruktor ruft die Superklasse (JButton) - Konstruktor, welche wiederum der Aufruf von setText. Jetzt intern, JButton funktioniert vielleicht anders, aber der Effekt ist der gleiche.
Der Allgemeine Punkt ist, dass super(...) ruft den superclass-Konstruktor.
JButton ist ein zentraler Java-Swing-Klasse unterstützt mehrere Konstruktoren. Einer dieser Konstruktoren können Sie den text für die Beschriftung der Schaltfläche.
Hinzufügen super(Titel) eigentlich nicht machen, ruft den Konstruktor der parent gewesen wäre, namens sowieso, aber es half wählen, welcher Konstruktor aufgerufen wird.
Die setText () - Methode können Sie text ändern, nachdem Sie die Schaltfläche erstellt, aber (in der Regel) bevor es angezeigt wird.
Wenn der submitButton festgelegt ist, initialisiert der Konstruktor submitButton festgelegt(String title), rufen Sie die parent/super-Konstruktor der Klasse mit dem Titel. Wenn Sie nicht angegeben haben, die super(Titel), dann den Java-compiler automatisch den code einfügen um die Standard-Konstruktor der super-Klasse. Dann wird der Titel nicht eingestellt werden, die beim erstellen der submitButton festgelegt.
Auch die Oberklasse (JButton) vielleicht die .setText(string) innerhalb des Konstruktors, und das ist, warum führt es die gleiche Funktion (müssen, schauen Sie sich die aktuellen Java-Quellcode).
http://www.javaworld.com/jw-10-2000/jw-1013-constructors.html?page=2
http://leepoint.net/notes-java/oop/constructors/constructor.html
In allen Fällen, In java, dass "call", um
super()
ruft die übergeordnete Klasse Tor. Wie alle Funktionen, wenn Sie Anruf ein ctor, Java-Muster passt die Namen und parameter-Typen.JButton
erklärt ein Tor mit string-argument, also, wenn Sie rufensuper(title)
der Effekt ist, dass Sie Berufung auf den Konstruktor der direkten Oberklasse (JButton), das nimmt einen einzelnen string-argument.http://java.sun.com/javase/6/docs/api/javax/swing/JButton.html#JButton(java.lang.String)
(kopieren Sie die gesamte URL; aus irgendeinem Grund den String-Teil ist nicht verknüpft)
Ist es, den Aufruf der Konstruktor-Definition in der JButton-Klasse oben verlinkten legt den text der Schaltfläche auf den übergebenen String. super() ist ein Aufruf einer superclass-Konstruktor.
Ich persönlich habe dieses Problem gelöst, indem die Einstellung Titel eher als text.
static String TitleName = "Some Title";
super (TitleName);
Dann auf Sie Schaltfläche oder wo auch immer die Aktion stattfinden soll.
setTitle("Neuer Titel");
Dies funktioniert für mich. 🙂