5个JPanels的位置
Position of 5 JPanels
** 我是 Java 的新手!
我有 5 个 JPanel,我希望它们像那样放置
这是我目前拥有的:
add(panel1, BorderLayout.PAGE_START);
add(panel2, BorderLayout.NORTH);
add(panel3, BorderLayout.CENTER);
add(panel4, BorderLayout.SOUTH);
add(panel5, BorderLayout.PAGE_END);
它们相互重叠,有些没有显示。我该如何解决它。
除了BorderLayout还有什么可以用的吗?
抱歉,本章已在一个会话中进行了解释。我的主要问题是我不明白我可以用什么替换 BorderLayout.X。
这是我目前的情况:
private JPanel contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5,5,5,5));
contentPane.setLayout(new GridLayout(4,1,0,0));
JPanel panel1 = new JPanel();
panel1.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"),
"title2", TitledBorder.LEADING, TitledBorder.TOP, null, null));
panel1.setLayout(new GridLayout(2, 2));
JPanel panel2= new JPanel();
panel2.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"),
"title", TitledBorder.LEADING, TitledBorder.TOP, null, null));
contentPane.add(panel2);
panel2.setLayout(new GridLayout(1,2,0,0));
add(panel1);
add(panel2);
add(panel3);
add(panel4);
我的布局设置为gridLayout,现在添加面板时应该写什么add(panel1, ???)?
您可以使用 GridLayout
。使用 GridLayout(int rows, int cols, int hgap, int vgap)
构造函数,您可以定义垂直和水平间隙。
JPanel mainPanel = new JPanel(new GridLayout(5, 1, 0, 5));
并根据您的更新;您必须将 contentPane
设置为您的框架。
frame.setContentPane(contenPane);
** 我是 Java 的新手!
我有 5 个 JPanel,我希望它们像那样放置
这是我目前拥有的:
add(panel1, BorderLayout.PAGE_START);
add(panel2, BorderLayout.NORTH);
add(panel3, BorderLayout.CENTER);
add(panel4, BorderLayout.SOUTH);
add(panel5, BorderLayout.PAGE_END);
它们相互重叠,有些没有显示。我该如何解决它。
除了BorderLayout还有什么可以用的吗?
抱歉,本章已在一个会话中进行了解释。我的主要问题是我不明白我可以用什么替换 BorderLayout.X。
这是我目前的情况:
private JPanel contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5,5,5,5));
contentPane.setLayout(new GridLayout(4,1,0,0));
JPanel panel1 = new JPanel();
panel1.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"),
"title2", TitledBorder.LEADING, TitledBorder.TOP, null, null));
panel1.setLayout(new GridLayout(2, 2));
JPanel panel2= new JPanel();
panel2.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"),
"title", TitledBorder.LEADING, TitledBorder.TOP, null, null));
contentPane.add(panel2);
panel2.setLayout(new GridLayout(1,2,0,0));
add(panel1);
add(panel2);
add(panel3);
add(panel4);
我的布局设置为gridLayout,现在添加面板时应该写什么add(panel1, ???)?
您可以使用 GridLayout
。使用 GridLayout(int rows, int cols, int hgap, int vgap)
构造函数,您可以定义垂直和水平间隙。
JPanel mainPanel = new JPanel(new GridLayout(5, 1, 0, 5));
并根据您的更新;您必须将 contentPane
设置为您的框架。
frame.setContentPane(contenPane);