2013-11-01 2 views
0

일부 작업과 함께 FlowLayoutEx를 만들었습니다. 그런 다음이를 표준 방식으로 프레임에 넣으려고했습니다.왜 프레임이 제목과 함께 표시됩니까?

public static void main(String args[]){ 

    FlowLayoutEx applet=new FlowLayoutEx(); 
    JFrame frame=new JFrame("HW2LayoutSettings"); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.add(applet,BorderLayout.PAGE_END); 
    applet.init(); 
    applet.start(); 
    frame.setSize(400,300); 
    frame.pack(); 
    frame.setVisible(true); 

} 
+0

'FlowLayoutEx'란 무엇입니까? – dcsohl

+0

실제로 나타나지 않는 창 (JFrame)입니까? 아니면 그 안의 내용 만요? 그렇다면 JFrame이 실제로 작기 때문입니까? 또는 콘텐츠 패널이 렌더링되지 않기 때문에 (예 : 모두 흰색 또는 유사)? – Paul

답변

0

그것은 아마 나타나지 않습니다,하지만 어쩌면 너무 작다 또는 예외 이전에 던져진, 당신의 FlowLayoutEx 클래스가 무엇인지 모르고 아는 것은 불가능합니다.

그러나 pack()을 호출하면 해당 구성 요소의 기본 크기에 해당하는 크기로 창을 설정합니다. 그것은 의미 : 크기가 기본 크기를 설정해야합니다 pack

  • 귀하의 사용자 정의 구성 요소에 대한 호출에 의해 다시 설정되어 있기 때문에

    1. setSize에 대한 귀하의 이전 호출은 쓸모가 없다.
  • 0

    애플릿의 기본 크기 (re getPreferredSize())는 무엇입니까? (0, 0)일까요? JFrame은 BorderLayout을 사용합니까? 나는 그것이 디폴트 다라고 생각한다. 그러나 나는 확실하지 않다. 직접 설정해보십시오 : frame.setLayout (new BorderLayout()). BorderLayout에 대해 확실하지 않습니다 .PAGE_END - 항상 BorderLayout.CENTER를 사용합니다 (JFrame의 기본 요소 또는 유일한 구성 요소 인 경우).

    관련 문제