2014-01-10 3 views
0

Привет, я попытался запустить JTabbedPanel, используя для цикла. Моя программа работает успешно. Но это не создание какого-либо файла Tab, как я ожидал. пожалуйста помогите.Запуск JTabbedPanel on for loop в java

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

Это происходит потому, что вы используете nullLayoutManager. Итак, удалите эту строку setLayout(null); и все будет работать, или измените эту строку на ненулевое значение, например:

setLayout(new BorderLayout());.

Я рекомендую вам использовать пустой макет. Изучите 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

yup .. я расширяю его .. его конструктор этого класса .. – RAGHU