2010-03-14 30 views
1

我有一個包含4個JPanels和1個JScrollPane的框架,這4個面板在邊界佈局的北部,東部,南部,西部以及中心的滾動窗格中。Java JFrame方法包()

我一直在試圖獲得框架功能的包方法,但運行時只需獲取窗口的標題欄。

任何想法?

JFrame conFrame; 
    JPanel panel1; 
    JPanel panel2; 
    JPanel panel3; 
    JPanel panel4; 
    JScrollPane listPane; 
    JList list; 
    Object namesAr[]; 
    ... 
    ... 
    ... 
    namesAr= namesA.toArray(); 
    list = new JList(namesAr); 
    list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); 
    list.setLayoutOrientation(JList.HORIZONTAL_WRAP); 
    list.setVisibleRowCount(-3); 
    list.addListSelectionListener(this); 

    listPane = new JScrollPane(list); 

    panel1 = new JPanel(); 
    panel2 = new JPanel(); 
    panel3 = new JPanel(); 
    panel4 = new JPanel(); 

    conFrame.setLayout(new BorderLayout()); 

    panel1.setPreferredSize(new Dimension(100, 100)); 
    panel2.setPreferredSize(new Dimension(100, 100)); 
    panel3.setPreferredSize(new Dimension(100, 100)); 
    panel4.setPreferredSize(new Dimension(100, 100)); 

    panel1.setBackground(Color.red); 
    panel2.setBackground(Color.red); 
    panel3.setBackground(Color.red); 
    panel4.setBackground(Color.red); 

    conFrame.pack(); 

    conFrame.add(panel1, BorderLayout.NORTH); 
    conFrame.add(panel2, BorderLayout.EAST); 
    conFrame.add(panel3, BorderLayout.SOUTH); 
    conFrame.add(panel4, BorderLayout.WEST); 
    conFrame.add(listPane, BorderLayout.CENTER); 
    conFrame.setVisible(true); 

回答

2

您需要將面板添加到框架「之前」你做的包(),否則沒有什麼可收拾。

此外,一個框架的默認佈局是BorderLayout。

+0

謝謝,那曾效力:D 真感覺。 – Oliver 2010-03-14 12:08:49