流式布局练习代码(FlowLayout
)
- 代码部分
package top.linksinke.jframe;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.HeadlessException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
/**
* swing布局练习:流式布局<br />
* create by LINKSINKE on 2020/2/27
*/
public class FlowLayoutTest extends JFrame {
public FlowLayoutTest() throws HeadlessException {
// 设置窗口默认打开的x、y坐标及其打开后的窗口大小
this.setBounds(10, 10, 400, 400);
// 设置close关闭按钮的操作,关闭窗口和停止程序运行
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 设置窗口显示的标题内容
this.setTitle("o(∩_∩)o 哈哈");
// 设置是否显示窗口
this.setVisible(true);
}
public static void main(String[] args) {
JFrame jframe = new FlowLayoutTest();
// 获取窗口的容器对象
Container ctainer = jframe.getContentPane();
// 设置窗口的布局方式为流式布局
ctainer.setLayout(new FlowLayout());
// 循环添加10个按钮
for (int i = 0; i < 10; i++) {
JButton jbtn = new JButton("按钮" + i);
ctainer.add(jbtn);
}
}
}
- 代码效果图
边界布局练习代码(BorderLayout
)
- 代码部分
package top.linksinke.jframe;
import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.JButton;
import javax.swing.JFrame;
/**
* swing 布局练习:边界布局<br />
* create by LINKSINKE on 2020/2/27
*/
public class BorderLayoutTest extends JFrame {
public BorderLayoutTest() {
// 设置窗口打开的x、y坐标及打开后的窗口大小
this.setBounds(200, 50, 500, 220);
// 设置close关闭按钮的操作(关闭窗口和停止程序运行)
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 设置是否显示窗口(true:表示显示窗口,false:表示不显示窗口)
this.setVisible(true);
}
public static void main(String args[]) {
BorderLayoutTest blt = new BorderLayoutTest();
// 获取blt窗口的容器对象
Container ctainer = blt.getContentPane();
// 设置布局方式为边界布局
ctainer.setLayout(new BorderLayout());
// 创建五个按钮并设置他们的显示位置(重复的会覆盖之前的)
ctainer.add(new JButton("东边的按钮"), BorderLayout.EAST);
ctainer.add(new JButton("北边的按钮"), BorderLayout.NORTH);
ctainer.add(new JButton("南边的按钮"), BorderLayout.SOUTH);
ctainer.add(new JButton("西边的按钮"), BorderLayout.WEST);
ctainer.add(new JButton("中间的按钮"), BorderLayout.CENTER);
// 覆盖测试
ctainer.add(new JButton("我来覆盖一下中间的按钮"), BorderLayout.CENTER);
}
}
- 代码效果图
网格布局练习代码(GridLayout
)
- 代码部分
package top.linksinke.jframe;
import java.awt.Container;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
/**
* swing布局练习:网格布局<br />
* create by LINKSINKE on 2020/2/27
*/
public class GridLayoutTest extends JFrame {
public GridLayoutTest() {
// 设置默认窗口打开的x、y坐标位置以及打开的窗口大小
this.setBounds(200, 140, 300, 500);
// 设置点击close按钮的操作(窗口关闭并停止程序的运行)
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 设置是否显示窗口(true:表示显示窗口,false:表示不显示窗口)
this.setVisible(true);
}
public static void main(String[] args) {
JFrame jframe = new GridLayoutTest();
// 获取jframe的容器对象
Container ctainer = jframe.getContentPane();
// 设置窗口的布局方式为网格布局
ctainer.setLayout(new GridLayout(5, 4));// 网格行为5,列为4
for (int i = 0; i < 20; i++) {
ctainer.add(new JButton("标签" + i));
}
}
}
- 代码效果图
显示的为五行四列,一共20个按钮
我们在修改一下,将循环的大小修改成300,看看是什么效果。。。
显示的行数量并没有随着高度发生变化,还是五行默认显示,而显示的列不再是4列了