Meine Lektion ist es, die setTitle-Methode von zu ändernJFrame, also erlaubt es Integer als Parameter. Wie geht das? Ich muss diese Methode überladen, oder? Alles, was ich in der setTitle-Methode versucht habe, endet in einem Stapelüberlauf.
import javax.swing.*;
public class MyFrame extends JFrame
{
MyFrame()
{
super();
setSize(400, 400); // Standard initial size
setVisible(true);
setDefaultCloseOperation(MyFrame.EXIT_ON_CLOSE);
}
MyFrame(int size)
{
this();
setSize(size, size);
}
public void setTitle(int title)
{
}
}
public class MainClass
{
public static void main(String[] args)
{
MyFrame frame = new MyFrame();
frame.setTitle(1000);
}
}
Antworten:
1 für die Antwort № 1Methoden setTitle
von JFrames API
public void setTitle(String title)
Sets the title for this frame to the specified string.
dann frame.setTitle("1000");
wird Werke sein
1 für die Antwort № 2
Sie scheinen in Bezug auf die Überlastung der Methode auf dem richtigen Weg zu sein. Versuchen:
public void setTitle(int title)
{
super.setTitle(""+title);
}
Ich habe keine Anforderung zum Einschränken des ursprünglichen String-Parameters gesehen. Dies fügt Ihrer Unterklasse lediglich eine weitere überladene Methode hinzu.
Hinweis: Stimmen Sie Robin zu, dass dies ein etwas seltsames und erfundenes Beispiel ist ... da ein Titel normalerweise ein String ist, warum also ändern ...