JPanel
代码如下(示例):
package com.baidu;
import java.awt.*;
import javax.swing.*;
//面板类似组件加入容器
//多个容器互不干扰
public class JPanelTest extends JFrame {
public JPanelTest() {
setBounds(100,100,500,300); //大小
setDefaultCloseOperation(EXIT_ON_CLOSE);//关闭规则
Container c = getContentPane(); //获取窗口容器
c.setLayout(new GridLayout(2,2,10,10)); //设置布局,两行两列,网格布局
//设置四个面板,添加到容器中去
JPanel p1 = new JPanel();
p1.setLayout(new GridLayout(1,3,10,10)); //添加到容器中指定位置
JPanel p2 = new JPanel(new BorderLayout());
JPanel p3 = new JPanel(new GridLayout(1,2,10,10));
JPanel p4 = new JPanel(new GridLayout(2,1,10,10));
//添加边框进行区分
p1.setBorder(BorderFactory.createTitledBorder("面板1")); //添加标题边框
p2.setBorder(BorderFactory.createTitledBorder("面板2")); //添加标题边框
p3.setBorder(BorderFactory.createTitledBorder("面板3")); //添加标题边框
p4.setBorder(BorderFactory.createTitledBorder("面板4")); //添加标题边框
//放到容器中
c.add(p1);
c.add(p2);
c.add(p3);
c.add(p4);
//面板中添加组件
/*
* 核心思想
* 实现一步步添加内容
* 确保想要天添加的位置存在
* */
p1.add(new Button("p1")); //添加按钮,取名p1
p1.add(new Button("p1")); //添加四个按钮给p1后
p1.add(new Button("p1")); //将会实现竖着四个排布
p1.add(new Button("p1"));
p2.add(new Button("p2"),BorderLayout.CENTER);
//添加按钮实现边界布局
p2.add(new Button("p2"),BorderLayout.SOUTH);
p2.add(new Button("p2"),BorderLayout.NORTH);
p2.add(new Button("p2"),BorderLayout.EAST);
p2.add(new Button("p2"),BorderLayout.WEST);
//一行两列添加两个就够了
p3.add(new Button("p3"));
p3.add(new Button("p3"));
//两行一列添加两个就够了
p4.add(new Button("p4"));
p4.add(new Button("p4"));
//设置背景颜色
p4.setBackground(Color.yellow);
setVisible(true); // 可见
}
public static void main(String[] args) {
new JPanelTest();
}
}
运行效果
总结
* 核心思想
* 实现一步步添加内容
* 确保想要天添加的位置存在