Java 将JFrame setTitle(字符串)重载为setTitle(int)

Java 将JFrame setTitle(字符串)重载为setTitle(int),java,swing,jframe,overloading,Java,Swing,Jframe,Overloading,我的课程是更改JFrame的setTitle方法,因此它允许整数作为参数。怎么做?我必须让那个方法过载,对吗?我在setTitle方法中尝试的任何操作都会导致堆栈溢出 import javax.swing.*; public class MyFrame extends JFrame { MyFrame() { super(); setSize(400, 400); // Standard initial size s

我的课程是更改JFrame的setTitle方法,因此它允许整数作为参数。怎么做?我必须让那个方法过载,对吗?我在setTitle方法中尝试的任何操作都会导致堆栈溢出

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);
    }
}

方法
setTitle
from


然后
frame.setTitle(“1000”)
将起作用

您似乎在重载方法方面走上了正确的道路。尝试:

public void setTitle(int title)
{           
    super.setTitle(""+title);
}
我没有看到限制原始字符串参数的要求;这只是将另一个重载方法添加到子类中


注意:同意Robin的观点,这是一个有点奇怪和做作的例子。。。既然标题通常是字符串,那么为什么要更改它…

我的课程是更改setTitle的标准方法,这样它就可以接受整数而不再接受字符串。@ANW00D这是不可能的。您可以添加一个额外的
setTitle
方法,但不能避免仍然可以传递
字符串。除此之外,这也是我听说过的扩展JFrame的最奇怪的原因之一。也许我过度解读了这一课:“使用setTitle(…),这样你就可以在标题中写数字了。”但这是什么课呢?我永远不会使用自定义的setTitle,而是使用标准方法。@ANW00D:如果您只需使用
Integer.toString(title)
并将其作为参数传递给
setTitle()
方法,类似于
frame.setTitle(Integer.toString(title))
。这难道不会做同样的事情吗?@ANW00D这在纯Java中是不可能的,Java容器来自本机操作系统,以Java APIsYeah实现的形式和方法!我不知道它应该教我什么。下个星期我希望知道更多。你能发布stacktrace吗?
public void setTitle(int title)
{           
    super.setTitle(""+title);
}