2013-03-27 2 views
2

Мой урок - изменить метод setTitle для JFrame, чтобы он мог использовать целое число в качестве параметра. Как это сделать? Мне нужно перегрузить этот метод, верно? Все, что я пробовал в методе setTitle, заканчивается переполнением стека.Перегрузка JFrame setTitle (String) to setTitle (int)

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

Вы можете разместить StackTrace? – rainkinz

ответ

1

метода setTitle из JFrames API

public void setTitle(String title) 
Sets the title for this frame to the specified string. 

тогда frame.setTitle("1000"); будет работой

+0

Мой урок - изменить стандартный метод setTitle, поэтому он принимает целое число и не более строк. – ANW00D

+0

@ ANW00D Это просто невозможно. Вы можете добавить дополнительный метод 'setTitle', но вы не можете избежать того, что вы все равно можете передать' String'. И кроме того, это было бы одной из самых странных причин для расширения «JFrame», о котором я когда-либо слышал о – Robin

+0

Hm. Возможно, я переучиваю урок: «Используйте setTitle (...), чтобы вы могли писать числа в названии». Но что это за урок? Я бы никогда не использовал свой собственный setTitle и вместо этого использовал бы стандартный метод. – ANW00D

1

Вы, кажется, на правильном пути относительно перегрузки методы. Попробуйте:

public void setTitle(int title) 
{   
    super.setTitle(""+title); 
} 

Я не видел требования ограничить исходный параметр String; это просто добавление другого перегруженного метода в ваш подкласс.

Примечание: Согласен с Робином, что это несколько странно и надуманный пример ... так как обычно название является String, так почему бы изменить его ...

+0

Да! Я не знаю, чему это должно меня научить. На следующей неделе я надеюсь, что больше. – ANW00D

Смежные вопросы