Java图形界面GUI布局方式(小结)

流式布局

采用流式布局会将元素按从左到右的顺序排列,如果一个元素在一行中放不下,那这个元素会另起一行依然按照从左到右的顺序排列

示例:

代码

public class Test {
	public static void main(String[] args) {
//		创建窗口
		JFrame jFrame = new JFrame();
//		设置窗口名称
		jFrame.setTitle("hello");
//		创建流式布局管理器 对齐方式为左对齐
		LayoutManager layout = new FlowLayout(FlowLayout.LEFT);
//		关闭窗口结束程序
		jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//		创建内容面板
		Container contentpage = jFrame.getContentPane();
//		设置内容面板布局方式为流布局
		contentpage.setLayout(layout);
//		创建按钮
		JButton button1 = new JButton("1");
		JButton button2 = new JButton("2");
		JButton button3 = new JButton("3");
		JButton button4 = new JButton("4");
		JButton button5 = new JButton("5");
//		设置按钮大小
		button1.setPreferredSize(new Dimension(100,100));
		button2.setPreferredSize(new Dimension(100,100));
		button3.setPreferredSize(new Dimension(100,100));
		button4.setPreferredSize(new Dimension(100,100));
		button5.setPreferredSize(new Dimension(100,100));
//		设置按钮背景颜色
		button1.setBackground(Color.red);
		button2.setBackground(Color.blue);
		button3.setBackground(Color.pink);
		button4.setBackground(Color.orange);
		button5.setBackground(Color.yellow);
//		将按钮添加到内容面板中
		contentpage.add(button1);
		contentpage.add(button2);
		contentpage.add(button3);
		contentpage.add(button4);
		contentpage.add(button5);
//		设置窗口大小
		jFrame.setSize(500, 300);
//		设置窗口可见
		jFrame.setVisible(true);
	}
}

边界布局

采用边界布局会将元素分别划分到东,西,中,南,北五个方位,分别使用EAST,WEST,CENTER,SOUTH,NORTH标识,每个方位只能放一个元素

示例

代码

public class Test {
	public static void main(String[] args) {
//		创建窗口
		JFrame jFrame = new JFrame();
//		设置窗口名称
		jFrame.setTitle("hello");
//		创建边界布局管理器
		BorderLayout layout = new BorderLayout();
//		关闭窗口结束程序
		jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//		创建内容面板
		Container contentpage = jFrame.getContentPane();
//		设置内容面板布局方式为流布局
		contentpage.setLayout(layout);
//		创建按钮
		JButton button1 = new JButton("1");
		JButton button2 = new JButton("2");
		JButton button3 = new JButton("3");
		JButton button4 = new JButton("4");
		JButton button5 = new JButton("5");
//		设置按钮背景颜色
		button1.setBackground(Color.red);
		button2.setBackground(Color.blue);
		button3.setBackground(Color.pink);
		button4.setBackground(Color.orange);
		button5.setBackground(Color.yellow);
//		将按钮添加到内容面板中
//		将按钮放置到北部
		contentpage.add(button1,BorderLayout.NORTH);
//		将按钮放置到南部
		contentpage.add(button2,BorderLayout.SOUTH);
//		将按钮放置到西部
		contentpage.add(button3,BorderLayout.WEST);
//		将按钮放置到东部
		contentpage.add(button4,BorderLayout.EAST);
//		将按钮放置到中心
		contentpage.add(button5,BorderLayout.CENTER);
//		设置窗口大小
		jFrame.setSize(500, 300);
//		设置窗口可见
		jFrame.setVisible(true);
	}
}

卡片布局

顾名思义,若一个容器使用卡片布局,其里面的所有组件就像是一副牌一样重叠在一起,容器只能显示一个组件,默认显示第一个组件,可以通过CardLayout中的show方法改变显示的组件

示例

显示第一个按钮

显示第二个按钮

代码

public class Test {
	public static void main(String[] args) {
//			创建窗口
		JFrame jFrame = new JFrame();
//			设置窗口名称
		jFrame.setTitle("hello");
//			创建卡片布局管理器
		CardLayout layout = new CardLayout();
//			关闭窗口结束程序
		jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//			创建面板
		JPanel jPanel = new JPanel();
//			设置面板布局方式为卡片布局
		jPanel.setLayout(layout);
//			添加 按钮 设置背景颜色
		JButton jButton1 = new JButton();
		jButton1.setBackground(Color.pink);
		JButton jButton2 = new JButton();
		jButton2.setBackground(Color.yellow);
//			将按钮添加到面板中并对按钮进行命名
		jPanel.add(jButton1,"bt1");
		jPanel.add(jButton2,"bt2");
//			指定在面板上显示的按钮
		layout.show(jPanel, "bt2");
//			将面板添加到窗口中
		jFrame.add(jPanel);
//			设置窗口大小
		jFrame.setSize(500,300);
//			设置窗口可见
		jFrame.setVisible(true);
	}
}

自定义布局

所谓自定义布局就是不使用任何布局管理器,而是我们自己通过指定组件的X坐标,Y坐标,宽度,高度来指定组件的位置

这里的坐标和我们平时的坐标有些区别,如下:

组件是以左上角顶点为原点来定位坐标,使用自定义布局,要将容器使用的布局管理器设置为null

那有的小伙伴会问了,既然布局管理器设置为null,那可不可以直接不设置啊,当然不行,如果不设置的话,组件会不显示

示例

代码

public class Test {
	public static void main(String[] args) {
//				创建窗口
		JFrame jFrame = new JFrame();
//				设置窗口名称
		jFrame.setTitle("hello");
//				关闭窗口同时结束程序
		jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//				创建面板
		JPanel jPanel = new JPanel();
//		使用自定义布局,将容器使用的布局管理器设置为null
		jPanel.setLayout(null);
//				添加 按钮 设置背景颜色
		JButton jButton1 = new JButton();
		jButton1.setBackground(Color.pink);
		JButton jButton2 = new JButton();
		jButton2.setBackground(Color.yellow);
//		设置按钮的坐标为(100,100) ,宽度为100,高度为100
		jButton1.setBounds(new Rectangle(100,100,100,100));
//		设置按钮的坐标为(220,70) ,宽度为100,高度为100
		jButton2.setBounds(new Rectangle(220,70,100,100));
//				将按钮添加到面板中
		jPanel.add(jButton1);
		jPanel.add(jButton2);
//				将面板添加到窗口中
		jFrame.add(jPanel);
//				设置窗口大小
		jFrame.setSize(500,300);
//				设置窗口可见
		jFrame.setVisible(true);
	}
}

到此这篇关于Java图形界面GUI布局方式(小结)的文章就介绍到这了,更多相关Java GUI布局内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java实现的具有GUI的校园导航系统的完整代码

    0.写在前面 2020-5-18更新 这个东西已经是两年前的了,现在问我具体细节我也不是很清楚了,而且现在review两年前的代码感觉写的好烂...请大家有问题下面留言,不要加我的企鹅了,正在准备考研,比较忙. 一点建议: 1.当时会的比较少,对象实例化对于单纯的数据查询来说效率极低而且很蠢,我现在更建议使用数据库,或者简单点用xmlorjson都可以,建议想写的好一点的同学把里面的数据读写逻辑改一改,用数据库不香吗 2.这个是分客户端服务端的,服务端相当于用底层手撸了一个相当简单的tomcat

  • java GUI实现加法计算器

    本文实例为大家分享了java GUI实现加法计算器的具体代码,供大家参考,具体内容如下 1.写出一个简易计算器需要的组件 2.先出监听事件类 public class TextCalculator01 { public static void main(String[] args) { new MyCalculator(); } } //计算器类 class MyCalculator extends Frame{ public MyCalculator() { //三个文本框 TextField

  • java GUI编程之监听操作实例分析

    本文实例讲述了java GUI编程之监听操作.分享给大家供大家参考,具体如下: 当点击Frame中的component组件时,会产生相应的效果,但是相应的其必须进行监听,确定是那个对象,那种操作,但是如果用cup进行主动的监听就会消耗大量的资源,所以有了被动的监听,即对应的事件发生后会自动的执行相关的代码. Button监听: instance 1: import java.awt.*; import java.awt.event.*; public class MoniterStart { p

  • IntelliJ IDEA安装插件阿里巴巴Java开发手册(Alibaba Java Coding Guidelines)

    以前看到过个:Java开发手册(阿里巴巴-公开版),这是个pdf文档,里面描述了一些Java开发的规约,里面确实有很多好用的规约,要是在学校就有机会看看的话,那么,在毕业之后,实际工作中就会少很多坑.现在,阿里巴巴又一次对这个文档进行了升级,直接变成了一个插件.你需要的就是:知道有这么个插件,然后,还得安装这个插件,那么以后,你在写代码的时候,这个插件就会自动的纠正你在写代码的时候的一些很low的不规范代码. 下面看怎么在这个 IntelliJ IDEA 上安装这个插件. 通过Jetbrains

  • java GUI编程之paint绘制操作示例

    本文实例讲述了java GUI编程之paint绘制操作.分享给大家供大家参考,具体如下: import java.awt.*; public class Testpint { public static void main(String[] args) { // new TFPaint().lunchPaint(); new TFPaint(); } } class TFPaint extends Frame{ /* public void lunchPaint() { this.setBoun

  • java Gui实现肯德基点餐收银系统

    大家应该都去麦当劳或肯德基吃过快餐,参考肯德基官网的信息模拟肯德基快餐店的收银系统,简单的java Gui模拟的肯德基收银系统. 1.系统介绍 同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++/python/Java,结合设计模式(2种以上)至少实现系统的以下功能: 1.正常餐品结算和找零. 2.基本套餐结算和找零. 3.使用优惠劵购买餐品结算和找零. 4.可在一定时间段参与店内活动(自行设计或参考官网信息). 5.模拟打印小票的功能

  • java GUI界面初步入门示例【AWT包】

    本文实例讲述了java GUI界面.分享给大家供大家参考,具体如下: Java不太擅长做图形界面: AWT是一种较老的包,最新的是Swing包,由于其包内调用了一部分的操作系统的内容,所以无法做到完全的跨平台. 对于每一个图形元素都是一个component类,其包含container,container是一个component,同时他又作为component的一个容器类,又可以存放component.在container中还有window和panel两种类,其中window类是独立的,可以直接显

  • java GUI实现ATM机系统(3.0版)

    写个小项目了解一下GUI.用java GUI实现银行ATM自动取款机,实现登录界面.登录成功界面.各个操作功能实现界面. 用java GUI实现一个ATM机系统(3.0版) 设计思路 设计两个包(bank包,atmJFrame包) 1.bank包: (1).ATM类:实现用户各种操作; (2).Data类:从user文件中获取所有用户信息,并返回要找的用户,再将修改完之后的用户信息写入user文件中: (3).user文件储存所有用户信息. 2.atmJFrame包: (1).MyJFrame类

  • java GUI编程之布局控制器(Layout)实例分析

    本文实例讲述了java GUI编程之布局控制器(Layout).分享给大家供大家参考,具体如下: 布局控制器,是用来系统自动分配各个component在window内部是怎么排布的:默认为FlowLayout,即挨个排序.FlowLayout是Panel的 instance 1:FlowLayout import java.awt.*; public class TestLayout { public static void main(String[] args) { Frame f = new

  • 教你用Java GUI实现文本文件的读写

    一.实验题目 二.分析 实验要求为: 实现一个界面,界面中包含一个文本显示区和两个按钮(存档和读档) 读档按钮作用是打开文件并读取内容,将内容显示在文本区中 存档按钮作用是将文本区的内容写入到文件中. 简单分析一下,可以看出这样的要求奥,包含的要考察知识点主要有两个方向: GUI绘制界面并添加事件 使用IO流对象对文件进行读写 好的小伙伴们,废话不多说,下面就来的实现它. 三.实现 首先,让我们创建一个GUI界面,先秉持着一切从简的设计思想,预计它长这样: 这样的布局方式,我们可以选择采用流布局

  • Java使用GUI绘制线条的示例

    在Java的GUI编程中,如何使用GUI绘制线条? 以下示例演示了如何使用Graphics2D类的Line2D对象的draw()方法作为参数来绘制一条线. package com.yiibai; import java.awt.*; import java.awt.event.*; import java.awt.geom.Line2D; import javax.swing.JApplet; import javax.swing.JFrame; public class DrawAndDisp

  • JAVA图形界面(GUI)之表格的示例代码

    表格(JTable)是我们在GUI开发中很常用的一个组件.表格在可视化编程中用于显示信息,在Swing编程中非常有用,当要显示大量数据时,用表格可以清晰的显示出来. 本篇博客将演示JTable的基本用法. 构造方法: 方法名 说明 JTable() 构造一个默认的 JTable,使用默认的数据模型.默认的列模型和默认的选择模型对其进行初始化 JTable(int numRows, int numColumns) 使用 DefaultTableModel 构造具有 numRows 行和 numCo

  • java GUI实现五子棋游戏

    本文实例为大家分享了java实现五子棋游戏GUI,供大家参考,具体内容如下 引用包 //{Cynthia Zhang} import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.LineBorder; import javax.swing.JOptionPane; import javax.swing.ImageIcon; import java.awt.Image; i

  • JavaGUI实现随机单词答题游戏

    本文实例为大家分享了JavaGUI实现随机单词答题游戏的具体代码,供大家参考,具体内容如下 案例描述:java-gui实现单词游戏,随机显示单词,键盘在文本框中输入想对应的单词,回答正确加5分,错误扣三分** 案例图片 回答正确 回答错误 重置答题 案例分析 1.定义三个面板存放各个组件JPanel 2.定义拆分窗格布局 3.创造三个文本域用来显示和输入 4.定义滚动窗格设置自动换行 5.定义"确定"重置""退出"按钮 6.给三个按钮添加事件处理 7.定义

  • 用GUI实现java版贪吃蛇小游戏

    本文实例为大家分享了java版贪吃蛇小游戏的具体代码,供大家参考,具体内容如下 项目结构 新建一个JFrame窗口,作为程序入口 public class GameStart{ public static void main(String[] args) { JFrame jFrame = new JFrame(); jFrame.setBounds(100,100,900,720); jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON

  • Java的带GUI界面猜数字游戏的实现示例

    先导包 import java.util.*; import javax.swing.*; 再写主方法 public static void main(String[] args) { } 新声明一个Scanner和随机数 public static void main(String[] args) { Scanner in = new Scanner(System.in); Random r = new Random(); } 让UIManager爬取系统窗口样式 try { UIManage

  • JAVA基础-GUI

    Java也提供图像化编程 图形化 GUI(图形用户界面) GUI 1  Graphical User Interface(图形用户接口) 2  用图形的方式,来显示计算机操作的界面,这样更方便更直观 CLI 1  Command line User Interface (命令行用户接口) 2  就是常见的Dos命令行操作 3  需要记忆一些常用的命令,操作不直观 Java为GUI提供的对象都存在java.Awt和javax.Swing两个包中 Awt和Swing java.Awt:Abstrac

  • 五种JAVA GUI布局管理的方式

    1. 流式布局(FlowLayout) 定义: 通俗地说,流式布局就是根据窗口大小,自动改变窗口内组件的位置.例如:原窗口大小一行可以容纳10个BUTTON,但将窗口缩小后,每行仅能容纳5个BUTTON,此时原先的10个BUTTON中的五个就会自动排列到下一行. 示例:(省略panel的使用) Hashset package 布局管理; ​ import java.awt.*; import java.awt.event.WindowAdapter; import java.awt.event.

随机推荐