2012-02-14 7 views
-2

안녕하세요!JButton이 JFrame에 나타나지 않습니다.

JButton이 JFrame에 나타날 수 있습니까? JButton에서 setVisible 메서드를 사용했지만 표시되지 않습니다.

오류 메시지 :

Exception in thread "main" java.lang.IllegalArgumentException: adding a window to a container 
    at java.awt.Container.checkNotAWindow(Unknown Source) 
    at java.awt.Container.addImpl(Unknown Source) 
    at javax.swing.AbstractButton.addImpl(Unknown Source) 
    at java.awt.Container.add(Unknown Source) 
    at FrameTest.initializeGameFrame(FrameTest.java:27) 
    at FrameTest.main(FrameTest.java:17) 

코드 :

당신은 프레임에 버튼을 추가 할 필요가
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 


public class FrameTest extends JFrame{ 

    private static final int gameWindowHeight = 700; 
    private static final int gameWindowLength = 700; 

    /** Set up frame for game window 
    * 
    */ 

    public static void main(String[] args) 
    { 
     FrameTest.initializeGameFrame(); 

    } 

    public static void initializeGameFrame() 
    { 
     FrameTest gameFrame = new FrameTest(); 
     gameFrame.setSize(gameWindowLength, gameWindowHeight); 
     gameFrame.setTitle("Frame Test- by Me"); 
     JButton gameButton = new JButton("Start Game"); 
     gameButton.add(gameFrame); 
     gameButton.setLocation(250, 250); 
     gameButton.setVisible(true); 
     gameFrame.setVisible(true); 

    } 


} 
+1

당신은 당신이이 문제에 대한 약간의 통찰력을 제공받을 예외를 읽으면 예를 JFrame.add(gameButton);을 위해. IE의 경우, 다른 방법 대신에'JButton'에'JFrame'을 추가하고 있습니다. – Jeffrey

+1

다음에 실제로 묻기 전에 문제를 파악하려고합니다. – Jimmt

답변

6

, 당신은 프레임에 버튼을 추가 할 필요가 gameFrame.add(gameButton);

4

보십시오. gameFrame.add(gameButton);

4

패널에 추가하십시오. 그렇지 않으면 패널에 아무 것도 나타나지 않습니다. gameFrame.add (gameButton);

0

당신은 프레임 버튼 또는 패널을 추가해야합니다 : "윈도우를 컨테이너에 추가"

관련 문제