[英]Java GUI create three JPanel in one JFrame
我的Java GUI有問題。
我想創建三個JPanel
其中有一個大小不同的情況下JFrame
。 JFrame
尺寸300x800和Panel1
, Panel2
300x100和Panel3
300x500。 我要在下面添加此面板。
如何解決這個問題呢?
使用BorderLayout
1 。
panel1
添加到NORTH
panel2
添加到CENTER
panel3
添加到SOUTH
擴展您的想象力,使高度增加十倍。
import java.awt.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
class ColoredPanels {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JPanel gui = new JPanel(new BorderLayout(3,3));
gui.setBackground(Color.BLUE);
gui.setBorder(new EmptyBorder(5,5,5,5));
JPanel panel1 = new JPanel();
panel1.setPreferredSize(new Dimension(300,20));
panel1.setBackground(Color.RED);
gui.add(panel1, BorderLayout.NORTH);
JPanel panel2 = new JPanel();
panel2.setPreferredSize(new Dimension(300,10));
panel2.setBackground(Color.ORANGE);
gui.add(panel2, BorderLayout.CENTER);
JPanel panel3 = new JPanel();
panel3.setPreferredSize(new Dimension(300,50));
panel3.setBackground(Color.YELLOW);
gui.add(panel3, BorderLayout.SOUTH);
// a frame would need pack() etc.
JOptionPane.showMessageDialog(null, gui);
}
});
}
}
BorderLayout
,.. 或 BoxLayout
。 camelCase
作為屬性名稱。 您可以嘗試使用setPreferredSize()
和company來調整面板的大小。 然后研究在框架上使用BoxLayout
,該方法會將您的面板放在行或列中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.