2013-12-11 4 views
0

로그인 창, 등록 창 및 프로그램 창이있는 프로그램이 있습니다. 프로그램을 실행할 때 로그인 창이 먼저 나타나고 모든 것이 좋습니다. 등록을 클릭하면 그 창이 팝업되고 모든 것이 잘되지만 로그인을 클릭하면 프로그램 창이 열리지 만 프레임에 아무것도 표시되지 않습니다. 내 모든 구성 요소를 JTabbedPane에 저장하고 JPanel에 JTabbedPane을 저장하여 JFrame에서 사용할 수 있도록하지만 프로그램 창이 열리면 빈 프레임이 표시됩니다. 유일한 것은 textField가있는 위치 위로 마우스를 가져 가면 텍스트 커서가 표시되고 클릭하면 텍스트 필드가 나타납니다! 창이 열릴 때 패널의 모든 구성 요소를 표시하려면 어떻게해야합니까?프레임에 프로그램 창이 표시되지 않습니다.

public JPanel panelProgram() 
{ 
    programPanel.setLayout(null); 

    tabbedPane = new JTabbedPane(); 
    tabbedPane.setBounds(0, 10, programW - 10, programH - 10); 
    tabbedPane.setVisible(true); 
    ImageIcon icon = new ImageIcon("src/cpt/admin/images/middle.gif"); 

    proPanTab1 = showInputScreen(); 
    tabbedPane.addTab("Input Accounts", icon, proPanTab1, "Input New Acocunts"); 

    proPanTab2 = showSearchScreen(); 
    tabbedPane.addTab("Search Accounts", icon, proPanTab2, "Search Through Accounts"); 

    proPanTab3 = showEmailScreen(); 
    tabbedPane.addTab("Send Email", icon, proPanTab3, "Send an Email to Accounts"); 

    tabbedPane.setTabLayoutPolicy(JTabbedPane.WRAP_TAB_LAYOUT); 

    programPanel.add(tabbedPane); 

    return programPanel; 
} 
+2

1) 더 빨리 도움을 받으려면 [SSCCE] (http://sscce.org/)를 게시하십시오. 2) 아마도 적절한 순간에'pack()'을 호출하는 것으로 알 수 있습니다. 그 '아마도'를 '확실히'로 업그레이드하려면 SSCCE를 게시하십시오. –

+0

@AndrewThompson이 권장하는 것과 둘째로 Null 레이아웃을 사용하지 말아야한다는 일반적인 조언을 추가합니다. GUI를 향상 시키거나 유지하기가 매우 어려울뿐입니다. –

+0

왜 호환되지 않는 코드 스 니펫을 게시 했습니까? SSCCE를 게시 하시겠습니까? –

답변

0

programPanel.setLayout(null);을 사용하면 해당 패널의 구성 요소가 0으로 설정되어 표시되지 않습니다. getPreferredSize()으로 전화하여 구성 요소의 크기를 확인할 수 있습니다.

더 나은 레이아웃 대안을 위해서는 LayoutManager을 사용해야합니다.

관련 문제