2013-11-10 79 views
0

我的項目有一個JPanel和JFrame(JPanel in JFrame)。我設置JFrame的大小是(400,400)。 JPanel的大小是(150,150)。我將JPanel添加到JFrame並運行它,當它顯示時,JPanel的大小不是150,它的大小與JFrame的大小相同。我不知道如何解決它:(設置JPanel的大小不取決於JFrame的大小

如何設置JPanel的大小並不依賴於JFrame中的大小

這裏我的代碼:?

public class Draw_JPanel extends JFrame{ 
Load_image panel_im = new Load_image(); 
public Draw_JPanel() 
{  
    this.setSize(400,400); 
    this.add(panel_im); 
    } 
public static void main(String[] args){ 
    Draw_JPanel abc = new Draw_JPanel(); 

    abc.setVisible(true); 
    } 
} 

和我Load_image類:

public class Load_image extends JPanel{ 
public Load_image() 
{ 
    setSize(30,30);  
    this.setBackground(Color.RED); 
} 
} 
+0

如何添加您的面板框架?我認爲佈局問題,顯示你的代碼。 – alex2410

回答

1

你把你的面板直接框架,其具有的BorderLayout爲默認值,它會調整你的面板。儘量使用this.getContentPane()。add(panel_im);而不是this.add(panel_im);,因爲contentPane具有默認的flowLayout。也閱讀更多關於LayoutManagertutorial

還可以使用setPreferedSize的的setSize()代替()difference here