Java里Swing的布局练习代码(1)

流式布局练习代码(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布局练习:流式布局
* 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); } } }
  • 代码效果图
    Java里Swing的布局练习代码(1)_第1张图片

边界布局练习代码(BorderLayout

  • 代码部分
package top.linksinke.jframe;

import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.JButton;
import javax.swing.JFrame;

/**
 * swing 布局练习:边界布局
* 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); } }
  • 代码效果图
    Java里Swing的布局练习代码(1)_第2张图片

网格布局练习代码(GridLayout

  • 代码部分
package top.linksinke.jframe;

import java.awt.Container;
import java.awt.GridLayout;
import javax.swing.JButton;
import javax.swing.JFrame;

/**
 * swing布局练习:网格布局
* 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,看看是什么效果。。。
    Java里Swing的布局练习代码(1)_第3张图片

    显示的行数量并没有随着高度发生变化,还是五行默认显示,而显示的列不再是4列了

你可能感兴趣的:(---Java技术,java,swing)