发信息做推广,我选黔优网

发布产品信息
微信公众号

关于Java图形界面工具Swing的布局方式介绍

我要举报 来源:黔优网作者:小优 责编:小优 时间:2024-12-18 14:02:09 浏览量:9
导读:本文深度解析关于Java图形界面工具Swing的布局方式介绍的核心底层逻辑要点与实践方法,涵盖关键观点信息和常见问题解决思路分析,为您提供全面的学习指导,一起来看看吧。

在使用JavaSwing向容器添加组件的时候,如果没有布局管理器,那么就得考虑很多东西,比如组件的位置、大小等等都要与先考虑,就显得格外的麻烦。下面我将分享Swing自身提供的布局管理器的类型。

边框布局管理器

BorderLayout(边框布局管理器),是Window、JFrame和JDialog的默认布局管理器。它主要将窗口分为了五个部位,分别是东(East)、西(West)、南(South)、北(North)和中(Center),分别对应了窗口的右、左、下、上、中。如下示意图所示:

BorderLayout的常用构造方法:

BorderLayout() 创建一个没有间隙的 Border 布局

BorderLayout(int hgap, int vgap) 创建一个有间隙的 Border 布局,其中 hgap 表示横向间隙、 vgap 表示纵向间隙。

具体实例代码:

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

public class Border {

public static void main(String[] args) {

JFrame jf = new JFrame();
jf.setBounds(100,100, 800,600);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
jf.setLayout(new BorderLayout()); // 设置为没有间隙的 Border 布局
JButton btn1 = new JButton("上");
JButton btn2 = new JButton("左");
JButton btn3 = new JButton("中");
JButton btn4 = new JButton("右");
JButton btn5 = new JButton("下");
jf.add(btn1, BorderLayout.NORTH);
jf.add(btn2, BorderLayout.WEST);
jf.add(btn3, BorderLayout.CENTER);
jf.add(btn4, BorderLayout.EAST);
jf.add(btn5, BorderLayout.SOUTH);
jf.setVisible(true);
}
}

运行结果:

根据以上运行结果可以看见,在对应的位置会自动填充相应的内容。那么如果对应的位置没有的内容,那么会发生什么呢?我们可以先尝试把其中一个注释掉,结果运行如下:

可见,命名为“上”的按钮已经消失掉了,取而代之的是左中右自动填充了缺失的部分。尝试了分别将其他几个注释掉,也是一样的结果,可以得出CENTER区域会自动拉伸填充缺失的部分。

流式布局管理器

FlowLayout(流式布局管理器),是JPanel和JApplet的默认布局管理器。FlowLayout 会按照从上往下,从左到右的顺序规律逐个定位组件。跟别的布局管理器不一样的是,FlowLayout不会限制它里面所有组件的大小,而是允许这些组件有自己的大小。

常用构造方法如下:

FlowLayout() 默认是创建一个居中对齐,水平垂直皆为5像素的布局管理器。

FlowLayout(int align) 创建一个水平垂直为5像素,自定义是左对齐、右对齐或是居中的布局管理器。

FlowLayout(int align, int hgap, int vgap) 自定义对齐方式,以及水平垂直方向像素的布局管理器。

具体代码:

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

public class Flow {

public static void main(String[] args) {
JFrame jf = new JFrame("FLOWLAYOUT");
jf.setBounds(100,100,800,600);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

JPanel jp = new JPanel();
JButton btn1 = new JButton("1");
JButton btn2 = new JButton("2");
JButton btn3 = new JButton("3");
JButton btn4 = new JButton("4");
JButton btn5 = new JButton("5");
JButton btn6 = new JButton("6");
JButton btn7 = new JButton("7");
JButton btn8 = new JButton("8");
JButton btn9 = new JButton("9");

jp.add(btn1);
jp.add(btn2);
jp.add(btn3);
jp.add(btn4);
jp.add(btn5);
jp.add(btn6);
jp.add(btn7);
jp.add(btn8);
jp.add(btn9);
// 想面板添加一个流式布局管理器你,设置横间距像素为180,纵间距为50
jp.setLayout(new FlowLayout(FlowLayout.LEADING, 180, 50));
// 设置背景色
jp.setBackground(Color.GRAY);
jf.add(jp);

jf.setVisible(true);
}

}

运行结果:

总结

以上就是关于 Java 图形界面工具 Swing 自身提供的几种布局管理器类型中的其中两种,边框布局管理器和流式布局管理器的介绍和示例使用。想要了解更多关于 Java Swing 其他布局管理器类型的其他内容,请关注W3Cschool以往的文章或者继续浏览接下来的内容。如果本篇文章对您的学习有所帮助,还希望大家能够对我们多多地支持!

 
  • 下一篇: Google浏览器录屏:助力您的教学、演示和工作
  • 上一篇: 体验Google TV:融合娱乐与智能的全新时代
 
没用 0举报 收藏 0评论 0
免责声明:
以上展示内容来源于用户自主上传及公开网络信息收集整理,版权归属原作者所有,平台不承担内容准确性责任,版权争议与本站无关。本文涉及见解与观点不代表黔优网官方立场,仅供技术交流参考,黔优网为纯技术资讯交流平台,不参与任何商业服务及交易行为,所有企业信息均经基础资质审核后展示。本文标题:关于Java图形界面工具Swing的布局方式介绍,本文链接:https://www.qianu.com/n/934625.html,欢迎转载,转载时请说明出处。若您发现本文涉及版权争议或违法违规内容,请您立即通过点此【投诉举报】并提供有效线索,也可以通过邮件(邮箱号:kefu@qianu.com)联系我们及时修正或删除。
 
 

 

 
推荐图文资讯