簡體   English   中英

JFrame沒有顯示Jpanel的權利

[英]JFrame doesn't show the Jpanel's right

我正在使用大小為800x600的JFrame。 我正在嘗試做的是:

在此處輸入圖片說明

黑色面板內部還有2個其他面板,每個面板的尺寸為300x300。

結果是黑色面板在左側(假定為假),紅色面板在中間,框架和面板之間的頂部有間隙。 另外,如果我卸下黑色面板,則右側面板將填滿整個框架...

這是代碼:

    //create the left part of the screen
    JPanel leftPanels = new JPanel();
    leftPanels.setLayout(new GridLayout(2,1));
    leftPanels.setSize(new Dimension(300,600));
    // just to illustrate the 2 panels inside of the black panel.
    //leftPanels.add(new JPanel());
    //leftPanels.add(new JPanel());

    //create the right part
    JPanel rightPanel = new JPanel();
    rightPanel.setSize(new Dimension(500,600));
    rightPanel.setBackground(Color.red);

    this.add(leftPanels);
    this.add(rightPanel);

    this.validate();
    this.repaint();

有沒有簡單的方法來解決此問題?

我還在JFrame上嘗試了Gridlayout,但這給了我2個400X600的面板

首先,像這樣使用FlowLayout

setLayout(new FlowLayout(FlowLayout.LEFT));

其次,請為JPanels使用setPreferedSize而不是setSize

leftPanels.setPreferredSize(new Dimension(300,600));

我不知道什么是cashRegister,但是您似乎沒有將rightPanel添加到JFrame,因此請確保添加它。

嘗試將框架的布局設置為null 然后使用setBounds定位面板。

如果嘗試將面板彼此相對設置,則將框架布局設置為null

this.getContentPane().setLayout(null);

然后,您將可以完全放置它們。 有關更多信息: 在沒有布局管理器的情況下進行操作(絕對定位)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM