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

相关文章

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

Spring AI集成DeepSeek实现流式输出的操作方法

《SpringAI集成DeepSeek实现流式输出的操作方法》本文介绍了如何在SpringBoot中使用Sse(Server-SentEvents)技术实现流式输出,后端使用SpringMVC中的S... 目录一、后端代码二、前端代码三、运行项目小天有话说题外话参考资料前面一篇文章我们实现了《Spring

CSS3 最强二维布局系统之Grid 网格布局

《CSS3最强二维布局系统之Grid网格布局》CS3的Grid网格布局是目前最强的二维布局系统,可以同时对列和行进行处理,将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局,本文介... 深入学习 css3 目前最强大的布局系统 Grid 网格布局Grid 网格布局的基本认识Grid 网

Java 8 Stream filter流式过滤器详解

《Java8Streamfilter流式过滤器详解》本文介绍了Java8的StreamAPI中的filter方法,展示了如何使用lambda表达式根据条件过滤流式数据,通过实际代码示例,展示了f... 目录引言 一.Java 8 Stream 的过滤器(filter)二.Java 8 的 filter、fi

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

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,可以用于为了降低公共页面元素的重复,简单地包括或嵌入在其它瓦片,制定了一系列可重复使用