java 中 swing 五种常见的布局方式是什么?_JAVA常用的五大框架

java 中 swing 五种常见的布局方式是什么?_JAVA常用的五大框架Swing 框架介绍 是一个 Java 图形化界面的库。 创建一个窗口并显示 窗口中添加Panel Panel中添加Panel,Panel中添加Label Label 设置点击事件

Java

Swing 框架介绍

是一个 Java 图形化界面的库。

Swing 框架中的组件

(1)顶层容器:JFrame窗口,JDialog对话框 

(2)中间容器:JPanel(相当于div,容器组件),JOptionPane,JTabbedPane(选项卡面板), JSplitPane(分割面板),JScrollPane(带滚动条的面部组件),JLayeredPane(层级面板)等

 (3)基本组件:JLabel(标签),JButton(按钮),JRadioButton(单选按钮), JTextField(文本框),JTextArea(文本区域), JPasswordField(密码框),JcheckBox(复选框),Jlist(列表),JComboBox(下拉列表框) JProgressBar(进度条),JSlider(滑块)

Swing 常用页面布局

边界布局

java 中 swing 五种常见的布局方式是什么?_JAVA常用的五大框架

代码如下:

package com.cdx.test;


import javax.swing.*;
import java.awt.*;

public class BorderLayoutExample extends JFrame {
    JButton btn1 = new JButton("东");
    JButton btn2 = new JButton("南");
    JButton btn3 = new JButton("西");
    JButton btn4 = new JButton("北");
    JButton btn5 = new JButton("中");

    BorderLayoutExample() {
        init();
        this.setTitle("边界布局");
        // 可以由用户调整大小
        this.setResizable(true);
        // 设置大小
        // this.setSize(200, 200);
        // 动态调整此窗口的大小
        this.pack();
        // 设置为null,表示居中
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setVisible(true);
    }

    void init() {
        this.setLayout(new BorderLayout(10, 5)); //默认为0,0;水平间距10,垂直间距5
        this.add(btn1, BorderLayout.EAST);
        this.add(btn2, BorderLayout.SOUTH);
        this.add(btn3, BorderLayout.WEST);
        this.add(btn4, BorderLayout.NORTH);
        this.add(btn5, BorderLayout.CENTER);
    }

    public static void main(String args[]) {
        new BorderLayoutExample();
    }
}

流式布局

java 中 swing 五种常见的布局方式是什么?_JAVA常用的五大框架

代码如下:

package com.cdx.test;

import javax.swing.*;
import java.awt.*;

public class FlowLayoutExample extends JFrame {

    JButton btn1 = new JButton("东");
    JButton btn2 = new JButton("南");
    JButton btn3 = new JButton("西");
    JButton btn4 = new JButton("北");
    JButton btn5 = new JButton("中");

    FlowLayoutExample() {
        init();
        this.setTitle("边界布局");
        this.setResizable(true);
        // 设置大小
        // this.setSize(200, 200);
        // 自适应
        this.pack();
        // 居中显示
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setVisible(true);
    }

    void init() {
        this.setLayout(new FlowLayout(FlowLayout.LEFT, 10, 5)); //默认为居中;水平间距10,垂直间距5
        this.add(btn1);
        this.add(btn2);
        this.add(btn3);
        this.add(btn4);
        this.add(btn5);
    }

    public static void main(String args[]) {
        new FlowLayoutExample();
    }

}

表格布局

java 中 swing 五种常见的布局方式是什么?_JAVA常用的五大框架

代码如下:

package com.cdx.test;

import javax.swing.*;
import java.awt.*;

public class GridLayoutExample extends JFrame {

    JButton btn1 = new JButton("东");
    JButton btn2 = new JButton("南");
    JButton btn3 = new JButton("西");
    JButton btn4 = new JButton("北");
    JButton btn5 = new JButton("中");

    GridLayoutExample() {
        init();
        this.setTitle("边界布局");
        // 设置用户可拖动
        this.setResizable(true);
        // 设置大小
        //this.setSize(200, 200);
        // 设置自适应
        this.pack();
        // 设置居中
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setVisible(true);
    }

    void init() {
        this.setLayout(new GridLayout(3, 2, 10, 5)); //默认为居中;水平间距10,垂直间距5
        this.add(btn1);
        this.add(btn2);
        this.add(btn3);
        this.add(btn4);
        this.add(btn5);
    }

    public static void main(String args[]) {
        new GridLayoutExample();
    }

}

盒子布局

java 中 swing 五种常见的布局方式是什么?_JAVA常用的五大框架

代码如下:

package com.cdx.test;

import javax.swing.*;

public class BoxLayoutExample extends JFrame {

    JButton btn1 = new JButton("东");
    JButton btn2 = new JButton("南");
    JButton btn3 = new JButton("西");
    JButton btn4 = new JButton("北");
    JButton btn5 = new JButton("中");

    BoxLayoutExample() {
        init();
        this.setTitle("边界布局");
        // 用户可以拖动大小
        this.setResizable(true);
        // 设置大小
        // this.setSize(400, 400);
        this.pack();
        // 设置居中显示
        this.setLocationRelativeTo(null);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        this.setVisible(true);
    }

    void init() {
        // 设置布局方式为竖直
        this.setLayout(new BoxLayout(this.getContentPane(),BoxLayout.Y_AXIS));
        // 设置布局方式为水平
        //this.setLayout(new BoxLayout(this.getContentPane(),BoxLayout.X_AXIS));
        this.add(btn1);
        this.add(btn2);
        // this.getContentPane().add(Box.createHorizontalStrut(10)); //采用x布局时,添加固定宽度组件隔开
        // 设置第二个按钮和第三个按钮之间的间距
        // this.getContentPane().add(Box.createVerticalStrut(5)); //采用y布局时,添加固定高度组件隔开
        this.add(btn3);
        this.add(btn4);
        this.add(btn5);
    }

    public static void main(String args[]) {
        new BoxLayoutExample();
    }

}

注意:必须要先添加控件,然后在设置 isVisible = true

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/13908.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注