2013-03-27 2 views
2

내 수업은 JFrame의 setTitle 메서드를 변경하여 정수를 매개 변수로 허용합니다. 그렇게하는 방법? 그 방법 과부하가 필요해, 그렇지? setTitle 메서드에서 시도한 모든 것이 스택 오버플로에서 끝납니다.JFrame setTitle (String) to setTitle (int)

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

JFrames API에서

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

당신이 스택 트레이스를 게시 할 수 ... 왜 변경 일반적으로 제목 문자열이기 때문에이 ... 약간 이상하고 인위적인 예입니다 로빈과 동의, 그래서? – rainkinz

답변

1

방법 setTitleframe.setTitle("1000"); 당신은 방법을 오버로드에 대한 올바른 궤도에있을 것 같다 작품

+0

내 수업은 setTitle의 표준 메소드를 변경하는 것이므로 정수 및 더 이상 문자열을 허용하지 않습니다. – ANW00D

+0

@ ANW00D 그건 단순히 불가능합니다. 추가'setTitle' 메소드를 추가 할 수는 있지만'String'을 계속 전달할 수는 없습니다. 게다가, 그것은 내가 들어 본 적이있는'JFrame '을 확장하는 가장 이상한 이유 중 하나입니다. – Robin

+0

흠. 어쩌면 제가 수업을 과하게 해석 할 것입니다 : "setTitle (...)을 사용하여 제목에 숫자를 쓸 수 있습니다." 그러나 그것은 어떤 교훈입니까? 나는 결코 내 custom setTitle을 사용하지 않을 것이고 표준 방법을 대신 사용할 것이다. – ANW00D

1

될 것입니다. 시도해보십시오 :

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

원본 String 매개 변수를 제한 할 필요가 없습니다. 이것은 서브 클래스에 또 다른 오버로드 된 메소드를 추가하는 것입니다.

참고 :

+0

예! 나는 그것이 무엇을 가르쳐야하는지 모른다. 다음 주에 나는 희망을 갖고 더 많이 안다. – ANW00D