GUI布局:边界布局、流式布局、网格布局、卡片布局

2024-06-23 18:58

本文主要是介绍GUI布局:边界布局、流式布局、网格布局、卡片布局,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

边界布局


package guiTest;
//JFrame默认的是边界布局BorderLayout
import java.awt.BorderLayout;import javax.swing.JButton;
import javax.swing.JFrame;public class BorderLayoutDemo {public static void main(String[] args) {JFrame f = new JFrame("边界布局BorderLayout");//JFrame的默认LayoutManager为BorderLayout//	f.setLayout(new BorderLayout());//可以不写,默认的就是流式布局JButton btn =  new JButton("北");f.add(btn,BorderLayout.NORTH);btn=new JButton("南");f.add(btn,BorderLayout.SOUTH);btn=new JButton("东");f.add(btn,BorderLayout.EAST);btn=new JButton("西");f.add(btn,BorderLayout.WEST);btn=new JButton("中");f.add(btn,BorderLayout.CENTER);f.pack();//也可以用f.setSize(222,222);来进行设置f.setVisible(true);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}

流式布局



package guiTest;import java.awt.FlowLayout;import javax.swing.JButton;
import javax.swing.JFrame;public class FlowLayoutDemo {public static void main(String[] args) {// TODO Auto-generated method stubJFrame f = new JFrame("流式布局FlowLayout");f.setLayout(new FlowLayout());for(int i=0;i<7;i++){JButton btn=new JButton("Button"+i);f.add(btn);}f.setSize(300,250);//f.pack();默认边框设置宽度和长度刚刚好的样子f.setVisible(true);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}


网格布局


<pre name="code" class="java">package guiTest;import java.awt.GridLayout;import javax.swing.JButton;
import javax.swing.JFrame;public class GirdLayoutDemo {public static void main(String[] args) {JFrame f = new JFrame("网格布局GirdLayout");//设置f的布局管理器为3行3列的GirdLayout组件间水平与垂直间距为5f.setLayout(new GridLayout(3,3,5,5));for(int i=1;i<10;++i){JButton btn = new JButton(String.valueOf(i));f.add(btn);}f.pack();f.setVisible(true);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}

 

卡片布局


<pre name="code" class="java">package guiTest;import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;public class CardLayoutDemo {private static JPanel p;public static void main(String[] args) {JFrame f = new JFrame("卡片布局CardLayout");p=new JPanel();//设置p的布局管理器为卡片布局CardLayoutp.setLayout(new CardLayout());//新建两个JPanelJPanel p1 = new JPanel();JPanel p2 = new JPanel();JLabel lb = new JLabel("第一个面板");p1.add(lb);//面板里面加标签lb=new JLabel("第二个面板");p2.add(lb);//面板里面加标签//将新建的两个JPanel面板添加到p中p.add(p1,"first");p.add(p2,"second");//设置默认显示first所对应的JPanel p1((CardLayout)p.getLayout()).show(p,"first");JButton btn = new JButton("改变面板");btn.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stub//当点击'改变面板'时,显示second对应的JPanel p2((CardLayout)p.getLayout()).show(p,"second");}});f.add(btn,BorderLayout.NORTH);f.add(p,BorderLayout.CENTER);f.setSize(400,150);//f.pack();f.setVisible(true);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}

 



这篇关于GUI布局:边界布局、流式布局、网格布局、卡片布局的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1088001

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

lvgl8.3.6 控件垂直布局 label控件在image控件的下方显示

在使用 LVGL 8.3.6 创建一个垂直布局,其中 label 控件位于 image 控件下方,你可以使用 lv_obj_set_flex_flow 来设置布局为垂直,并确保 label 控件在 image 控件后添加。这里是如何步骤性地实现它的一个基本示例: 创建父容器:首先创建一个容器对象,该对象将作为布局的基础。设置容器为垂直布局:使用 lv_obj_set_flex_flow 设置容器

Apache Tiles 布局管理器

陈科肇 =========== 1.简介 一个免费的开源模板框架现代Java应用程序。  基于该复合图案它是建立以简化的用户界面的开发。 对于复杂的网站,它仍然最简单,最优雅的方式来一起工作的任何MVC技术。 Tiles允许作者定义页面片段可被组装成在运行一个完整的网页。  这些片段,或Tiles,可以用于为了降低公共页面元素的重复,简单地包括或嵌入在其它瓦片,制定了一系列可重复使用

Golang GUI入门——andlabs ui

官方不提供gui标准库,只好寻求第三方库。 https://github.com/google/gxui 这个gui库是谷歌内部人员提供的,并不是谷歌官方出品,现在停止维护,只好作罢。 第三方gui库 找了好多,也比较了好多,最终决定使用的是还是 https://github.com/andlabs/ui 相信golang gui还会发展的更好,期待更优秀的gui库 由于andlabs

【CSS in Depth 2 精译_023】第四章概述 + 4.1 Flexbox 布局的基本原理

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结) 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位(已完结) 2.1 相对单位的威力2.2 em 与 rem2.3 告别像素思维2.4 视口的相对单位2.5 无单位的数值与行高2.6 自定义属性2.7 本章小结 第三章 文档流与盒模型(已

ConstraintLayout布局里的一个属性app:layout_constraintDimensionRatio

ConstraintLayout 这是一个约束布局,可以尽可能的减少布局的嵌套。有一个属性特别好用,可以用来动态限制宽或者高app:layout_constraintDimensionRatio 关于app:layout_constraintDimensionRatio参数 app:layout_constraintDimensionRatio=“h,1:1” 表示高度height是动态变化

GUI编程08:画笔paint

本节内容视频链接:10、画笔paint_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1DJ411B75F?p=10&vd_source=b5775c3a4ea16a5306db9c7c1c1486b5 package com.yundait.lesson03;import java.awt.*;import java.awt.event.Wind

Rhinoceros 8 for Mac/Win:重塑三维建模边界的革新之作

Rhinoceros 8(简称Rhino 8),作为一款由Robert McNeel & Assoc公司开发的顶尖三维建模软件,无论是对于Mac还是Windows用户而言,都是一款不可多得的高效工具。Rhino 8以其强大的功能、广泛的应用领域以及卓越的性能,在建筑设计、工业设计、产品设计、三维动画制作、科学研究及机械设计等多个领域展现出了非凡的实力。 强大的建模能力 Rhino 8支持多种建

C++入门(06)安装QT并快速测试体验一个简单的C++GUI项目

文章目录 1. 清华镜像源下载2. 安装3. 开始菜单上的 QT 工具4. 打开 Qt Creator5. 简单的 GUI C++ 项目5.1 打开 Qt Creator 并创建新项目5.2 设计界面5.3 添加按钮的点击事件5.4 编译并运行项目 6. 信号和槽(Signals and Slots) 这里用到了C++类与对象的很多概念 1. 清华镜像源下载 https://