Java GUI进阶之流式布局管理器FlowLayout专项精讲

 更新时间:2022年04月29日 11:31:38   作者:LNORA  
FlowLayout-流式布局管理器,按水平方向依次排列放置组件,排满一行,换下一行继续排列。排列方向(左到右 或 右到左)取决于容器的componentOrientation属性

Java GUI

GUI的全称是Graphical User Interface,即图形用户界面,是应用程序提供给用户操作的图形界面,包括窗口,菜单,按钮,工具栏和其他各种图形界面元素。

AWT概述

AWT是用于创建图形用户界面的一个工具包,提供了一些用于实现图形界面的组件,,在JDK中针对每个组件都提供了对应的Java类,这些类都位于Java.awt包。

AWT中的继承关系

1、Windows

Windows中有两个子类,Frame类和Dialog类,Frame类用于创建一个具有标题的框架窗口,作为程序的主界面,Dialog类用于创建一个对话框,实现与用户的信息交互。

2、Panel

Panel是一个容器,不能单独存在,只能存在于Windows及其子类中,一个Panel对象代表了一个长方形的区域,在这个区域中可以容纳其他的组件,

package AWT;
 import java.awt.*;
 public class GeZi {
     public static void main(String[] args) {
         Frame f=new Frame("我的世界!");
         //设置窗体的宽和高
         f.setSize(600,300);
         //设置窗体在屏幕中所处的位置(参考是左上角坐标)
         f.setLocation(600,200);
         f.setVisible(true);
     }
 }

布局管器

组件在容器中的位置和尺寸是由布局管理器来决定的。在java.awt包中提供了5种布局管理器,分别是FlowLayout(流式布局管理器),BorderLayout(边界布局管理器),GirdLayout(网格布局管理器),GirdBagLayout(网格包布局管理器),CardLayout(卡片布局管理器),每个容器在创建时都会默认使用一种布局管理器,在程序中可以通过调用容器对象的setLayout()方法设置布局管理器,通过布局管理器来自动进行组建的布局管理。

FlowLayout(流式布局管理器)

在这种布局方式下,容器会将组件按照添加顺序从左向右放置。当达到容器的边界时,会自动将组件放到下一行的开始位置,可以将组件设置成左对齐,居中对齐或右对齐,FlowLayout有三个构造方法。

 FlowLayout()//组件默认居中对齐,水平,垂直间距离为5个单位
     FlowLayout(int align)//指定组件相对于容器的对齐方式,水平,垂直间距默认5个单位
     FlowLayout(int align,int hgap,int vgap)//指定组件的对齐方式和水平,垂直间距
 package AWT;
 import java.awt.*;
 public class LuiSi {
     public static void main(String[] args) {
         final Frame f=new Frame("FlowLayout");
         //设置布局管理器为FlowLayout,所有组件左对齐,水平间距为20,垂直间距为30
         f.setLayout(new FlowLayout(FlowLayout.LEFT,20,30));
         f.setSize(220,300);
         f.setLocation(300,200);
         f.add(new Button("第1个按钮"));
         f.add(new Button("第2个按钮"));
         f.add(new Button("第3个按钮"));
         f.add(new Button("第4个按钮"));
         f.add(new Button("第5个按钮"));
         f.add(new Button("第6个按钮"));
         f.setVisible(true);
     }
 }

 

到此这篇关于Java GUI进阶之流式布局管理器FlowLayout专项精讲的文章就介绍到这了,更多相关Java FlowLayout内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于SpringBoot和Vue3的博客平台文章详情与评论功能实现

    基于SpringBoot和Vue3的博客平台文章详情与评论功能实现

    在前面的教程中,我们已经实现了基于Spring Boot和Vue3的发布、编辑、删除文章功能以及文章列表与分页功能。本教程将引导您实现博客平台的文章详情与评论功能,需要的朋友可以参考一下
    2023-04-04
  • JAVA中的动态代理使用详解

    JAVA中的动态代理使用详解

    这篇文章主要介绍了JAVA中的动态代理使用详解,动态代理提供了一种灵活且非侵入式的方式,可以对对象的行为进行定制和扩展,它在代码重用、解耦和业务逻辑分离、性能优化以及系统架构中起到了重要的作用,,需要的朋友可以参考下
    2023-08-08
  • IDEA 设置 SpringBoot logback 彩色日志的解决方法 附配置文件

    IDEA 设置 SpringBoot logback 彩色日志的解决方法 附配置文件

    这篇文章主要介绍了IDEA 设置 SpringBoot logback 彩色日志(附配置文件)的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-12-12
  • String实例化及static final修饰符实现方法解析

    String实例化及static final修饰符实现方法解析

    这篇文章主要介绍了String实例化及static final修饰符实现方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Java实战之图书管理系统的实现

    Java实战之图书管理系统的实现

    这篇文章主要介绍了如何利用Java语言编写一个图书管理系统,文中采用的技术有Springboot、SpringMVC、MyBatis、ThymeLeaf 等,需要的可以参考一下
    2022-03-03
  • Java实现导出ZIP压缩包的方法

    Java实现导出ZIP压缩包的方法

    这篇文章主要介绍了Java实现导出ZIP压缩包的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • MyBatis中的JdbcType映射使用详解

    MyBatis中的JdbcType映射使用详解

    这篇文章主要介绍了MyBatis中的JdbcType映射使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • @Transactional跟@DS动态数据源注解冲突的解决

    @Transactional跟@DS动态数据源注解冲突的解决

    这篇文章主要介绍了@Transactional跟@DS动态数据源注解冲突的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • Springboot实现多服务器session共享

    Springboot实现多服务器session共享

    这篇文章主要为大家详细介绍了Springboot实现多服务器session共享,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • 全面剖析java中的注解(Annotation)

    全面剖析java中的注解(Annotation)

    一个词就可以描述注解,那就是元数据,即一种描述数据的数据。所以,可以说注解就是源代码的元数据。文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04

最新评论