2014-01-10 2 views
0

안녕하세요. for 루프를 사용하여 JTabbedPanel을 실행하려고했습니다. 내 프로그램이 성공적으로 실행되고 있습니다. 하지만 내가 예상했던대로 Tab 파일을 만들지는 않습니다. 도와주세요. 당신이 nullLayoutManager를 사용하기 때문에 발생Java for 루프에서 JTabbedPanel 실행

public void GenerateGUI() { 

    jPanel = new JPanel[3]; 

    jSplitPane1 = new JSplitPane(); 
    jTabbedPane1 = new JTabbedPane(); 

    GroupLayout[] jPanelLayout = new GroupLayout[3]; 

    for (int i = 0; i <= noOfTerminals; i++) { 

     jPanel[i] = new JPanel(); 

     jPanelLayout[i] = new GroupLayout(jPanel[i]); 
     jPanel[i].setLayout(jPanelLayout[i]); 

     jPanelLayout[i].setHorizontalGroup(jPanelLayout[i] 
       .createParallelGroup(
         javax.swing.GroupLayout.Alignment.LEADING).addGap(
         0, 449, Short.MAX_VALUE)); 
     jPanelLayout[i].setVerticalGroup(jPanelLayout[i] 
       .createParallelGroup(
         javax.swing.GroupLayout.Alignment.LEADING).addGap(
         0, 250, Short.MAX_VALUE)); 

     jPanel[i].add(lblOverView); 

     jTabbedPane1.addTab("OverView", jPanel[i]); 
    } 

    setLayout(null); 
    add(jTabbedPane1); 

    setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); 
    pack(); 
    setVisible(true); 
    setLocationRelativeTo(null); 
} 

답변

3

. 따라서 해당 행 setLayout(null);을 제거하고 모두 작동하거나 해당 행을 null이 아닌 값으로 변경하십시오 (예 :

setLayout(new BorderLayout());).

null 레이아웃을 사용하지 않는 것이 좋습니다. LayoutManager tutorial을 검사하십시오. 예를 들어 BorderLayout 또는 다른 것으로 시도하십시오.

+0

해당 작업. 고마워요 .. – RAGHU

+0

당신은 오신 것을 환영합니다. – alex2410

0
public GenerateGUI() { 
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    setBounds(100, 100, 450, 300); 
    contentPane = new JPanel(); 
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); 
    setContentPane(contentPane); 
    contentPane.setLayout(null); 

    JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP); 
    tabbedPane.setBounds(10, 11, 414, 240); 
    contentPane.add(tabbedPane); 

    JPanel[] panels = new JPanel[3]; 

    for (int i = 0; i < 3; i++){ 
     panels[i] = new JPanel(); 
     panels[i].setVisible(true); 
     tabbedPane.addTab("Tab " + Integer.toString(i), null, panels[i], null); 
    } 
} 

클래스를 JFrame으로 확장하십시오.

+0

옙 .. 나는 그것을 확장한다 .. 그 클래스의 생성자. – RAGHU