[英]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.