常见的布局有 绝对布局,流式布局,边界布局和网格布局,具体的实现办法如下所示:
1:局对布局:

package demo;import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JButton;
import javax.swing.JFrame;public class Layoutt extends JFrame{public Layoutt(){this.setTitle("AbsoluteLayout");this.setLayout(null);this.setBounds(100,100,1000,1000);Container  con = this.getContentPane();JButton j1 = new JButton("button1");JButton j2 = new JButton("button2");j1.setBounds(110, 110, 100, 30);j2.setBounds(110, 210, 100, 30);con.add(j1);con.add(j2);j1.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubSystem.out.println("test");}});this.setVisible(true);}public static void main(String [] args){new Layoutt();}
}


边界布局的缺点是在图形变化的过程中,由于每个窗体元素的位置是固定的所以在具体的操作中不够灵活,但是一下的三种布局情况是紧紧跟随窗口大小的不会出现绝对布局中的那种情况。
2.流式布局:实现代码如下:

package demo;import java.awt.Container;
import java.awt.FlowLayout;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.WindowConstants;//这种布局模式需要手动设置
public class LayOut1 extends JFrame{/*** */private static final long serialVersionUID = 1L;public LayOut1(){super("流式布局");Container con = getContentPane();this.setLayout(new FlowLayout(2,10,10));this.setVisible(true);this.setLocation(200, 200);this.setSize(300,200);this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);for(int a = 1;a<=9;a++){con.add(new JButton("Button"+a));}}public static void main(String [] args){new LayOut1();}
}

操作结果如下:

3.边界布局:代码如下:

package demo;import java.awt.BorderLayout;
import java.awt.Container;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.WindowConstants;@SuppressWarnings("serial")
public class BorderLayOutDemo  extends JFrame{//BorderLayout bd = new BorderLayout();String[] border = {BorderLayout.CENTER,BorderLayout.SOUTH,BorderLayout.NORTH,BorderLayout.EAST,BorderLayout.WEST};String[] buttonName={"centerButton","southButton","northButton","eastButton","westButton"};public BorderLayOutDemo(){super("BorderLayout");this.setSize(350, 230);this.setLayout(new BorderLayout());Container con = this.getContentPane();for(int i = 0;i<border.length;i++){con.add(border[i],new JButton(buttonName[i]));}this.setVisible(true);//设置窗口关闭方式setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);}public static void main(String [] args){new BorderLayOutDemo();}
}

结果如下:

4.网格布局:

4.网格布局:
package demo;import java.awt.Container;
import java.awt.GridLayout;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.WindowConstants;public class LayOut4 extends JFrame{public LayOut4(){this.setExtendedState(JFrame.MAXIMIZED_BOTH);Container con = this.getContentPane();this.setSize(500, 500);//后面的两个参数是这的窗体中的元素之间的互相的距离this.setLayout(new GridLayout(7,3,1,5));for(int a = 1;a<=20;a++){con.add(new JButton("Button"+a));}this.setVisible(true);this.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);}public static void main(String [] args){new LayOut4();}
}

结果如下:

Java窗体常用的布局相关推荐

  1. java 控件内布局_Java开发桌面程序学习(二)————fxml布局与控件学习

    JavaFx项目 新建完项目,我们的项目有三个文件 Main.java 程序入口类,载入界面并显示 Controller.java 事件处理,与fxml绑定 Sample.fxml 界面 sample ...

  2. java中常用的包、类、以及包中常用的类、方法、属性----sql和text\swing

    java中常用的包.类.以及包中常用的类.方法.属性 常用的包 java.io.*; java.util.*; java.lang.*; java.sql.*; java.text.*; java.a ...

  3. java窗体中添加图片_在java窗体程序中添加图片的方法

    在java窗体程序中添加图片的方法 发布时间:2020-06-16 11:24:13 来源:亿速云 阅读:148 作者:Leah 这篇文章主要为大家详细介绍了在java窗体程序中添加图片的方法,图文详 ...

  4. Java开发常用英语单词

    Java开发常用英语单词 class   [klɑ:s] 类 classpath   [klɑ:s'pɑ:θ ] 类路径 public   ['p ʌblik] 公共的,公用的 private   [ ...

  5. Java Android常用术语英文简称及释义

    干程序员这行实在是离不开英语,干程序员是一项很辛苦的工作,要成为一个高水平的程序员尤为艰难.这是因为计算机软件技术更新的速度越来越快,而这些技术大多来源于英语国家,我们在引进这些技术时往往受到语言障碍 ...

  6. JAVA中常用英文单词简写释义

    JAVA中常用英文单词简写释义 关于java ee, ide,jms,jmx,jndi等专业术语的全称问题 API (Application Programming Interface) 应用编程接口 ...

  7. Java GUI 容器与布局:

    GUI 图型界面的实现. 使用的主要包:import javax.swing.*  与  import java.awt.* 容器:是用来容纳其他组件的特殊组件. 1  顶层容器:JFrame  JA ...

  8. java开发常用jar包_java开发常用jar包

    mail.jar与activation.jar 里面包含了activation.jar和mail.jar两个包.通过里面的类的调用便可以达到发送电子邮件的目的 commons-beanutils.ja ...

  9. Java Swing常用面板之普通面板JPanel

    一.简介 JPanel为轻量级组件提供了通用容器,其自身是可以嵌套的.可以存放其他组件,比如JButton.JTextArea.JTextField,也可以将JPanel放入到JFrame窗体以及其他 ...

最新文章

  1. mysql数据导入python_利用python将mysql中的数据导入excel
  2. Unity3D中如何计算场景中的三角面和顶点数
  3. Python 人脸识别 OpenCV (haarcascades)
  4. 《研磨设计模式》chap11 代理proxy模式
  5. 施工部署主要不包括_建筑工程施工方案及培训实例
  6. Python二级笔记(6)
  7. 读书笔记—《销售铁军》随记3
  8. 2021-08-24fine-tuning 模型
  9. java+ElementUI前后端分离旅游项目第三天 报团游
  10. 专访阿里巴巴研究员赵海平:从Facebook到阿里巴巴
  11. Excel如何批量导入图片
  12. 快速排序(java实现)
  13. Linux之恢复删除的数据
  14. 真的必须要在主线程更新UI吗?
  15. 关于睡眠唤醒实现开机功能
  16. c语言赛车编程,基于C语言赛车游戏要点.doc
  17. Object.assign()用法和特性
  18. 微信开发相关图书推荐
  19. 神话是这样打破的-南阳理工学院
  20. 中国健身、俱乐部和健身房管理软件系统行业市场供需与战略研究报告

热门文章

  1. Captain technology INC发布刀片电池并量产满足600公里续航需求
  2. AWS云服务系统配置R studio及anaconda
  3. The Devops Handbook 读书笔记08 Chapter5
  4. 读书笔记:《DevOps 实践》
  5. 原 LT、LE、EQ、NE、GE、GT 符号的含义
  6. GitHub开发者被邀合作篇
  7. dequeueReusableCellWithIdentifie…
  8. tensorflow创建动态库文件来自定义op
  9. MySQL|(单表查询操作)emp表 员工信息表练习
  10. C++最强防御解密程序,一秒破解所有加密文件!