首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

超详细Java容器、面板及四大布局管理器应用讲解!

之前进行Java窗体开发时经常会把容器、面板与布局管理混淆,从而不能正确使用这三种属性对窗体应用进行布局。所以今天在这里记录一下Java窗体中容器、面板及常见四大布局管理器用法。...面板中加入一个文本框,实现一个带有滚动条文本框。...使用绝对布局时首先有一点需要注意:就是要先取消默认布局管理器,方法为: setLayout(null); //清空布局管理器,即取消原来边界布局管理器 至于为什么要这样做,详细解释可以看我这篇文章...使用绝对布局管理器时值得注意就是:使用绝对布局之前要调用setLayout(null)方法来告知编辑器,这里将不再使用默认布局管理器。...默认情况下,组将在流布局管理器中都是以居中排列,当然排列顺序是可以改变FlowLayout类中构造函数中有如下三种: Public FlowLayout(); Public FlowLayout

2.4K10

JAVA学习Swing章节流布局管理器简单学习

; import javax.swing.JFrame; import javax.swing.WindowConstants; /** * 1:流(FlowLayout)布局管理器是布局管理器中最基本布局管理器...,流布局管理器整个容器中 * 布局正如其名,像流一样从左到右摆放组件,直到占据了这一行所有空间,然后再向下移动一行。...* 默认情况下,组件每一行都是居中排列,但是通过设置也可以更改组件每一行排列位置 * * 2:FlowLayout类中具有三种构造方法 * alignment参数使用布局管理器后组件每一行具体摆放位置...");//设置窗体标题 Container container=getContentPane();//初始化容器 //设置窗体使用布局管理器,使组件右对齐,并且设置组件之间水平间隔...,然后设置容器使用边界布局管理器 * 最后循环中将按钮添加到容器中,并设置组件布局 *2:add()方法提供了容器中添加组件功能,并同时设置组件摆放位置 * */

1.4K00
您找到你想要的搜索结果了吗?
是的
没有找到

JAVA学习Swing章节流布局管理器简单学习

; import javax.swing.JFrame; import javax.swing.WindowConstants; /** * 1:流(FlowLayout)布局管理器是布局管理器中最基本布局管理器...,流布局管理器整个容器中 * 布局正如其名,像流一样从左到右摆放组件,直到占据了这一行所有空间,然后再向下移动一行。...* 默认情况下,组件每一行都是居中排列,但是通过设置也可以更改组件每一行排列位置 * * 2:FlowLayout类中具有三种构造方法 * alignment参数使用布局管理器后组件每一行具体摆放位置...");//设置窗体标题 Container container=getContentPane();//初始化容器 //设置窗体使用布局管理器,使组件右对齐,并且设置组件之间水平间隔...,然后设置容器使用边界布局管理器 * 最后循环中将按钮添加到容器中,并设置组件布局 *2:add()方法提供了容器中添加组件功能,并同时设置组件摆放位置 * */

99830

随机抽奖小程序_在线随机抽号小程序

大家好,又见面了,我是你们朋友全栈君。 本实例使用随机数字生成5位抽奖号码,并显示在窗体5个文本框中。当用户单击”开始”按钮时,将启动一个线程对象为5个文本框生成随机数字。...单击”抽奖”按钮时,线程对象停止运行,并且将准确中奖号码显示信息文本框中。 开发一个抽奖小工具实例。 (1)自定义文本框组件,把5个生成随机数文本框公共属性抽象定义到该文本框。...NumField extends JTextField { private static final Font numfont = new Font("", Font.BOLD, 48);//定义文本框使用字体...getContentPane().add(contentPanel); //添加内容面板到窗体 final JPanel numPanel = new JPanel(); //创建显示随机数面板...flowLayout = new FlowLayout(); flowLayout.setHgap(25); controlPanel.setLayout(flowLayout); //设置面板布局

2.7K20

《Java 2 图形设计卷Ⅱ- SWING》第2章 Swing基本知识

记住这一点是很重要,因为java.applet.Applet与JApplet不同,它使用FlowLayout一个实例来布局组件。  ...如果修改例2-1应用程序,让该小应用程序试图设置它布局管理器,则将弹出带有下面错误消息异常信息:  java.lang.Error:Do not use Test.setLayout()use...相比之下,Swing应用程序和应用程序内容窗格中使用相同布局管理器(即一个BorderLayout实例)。  ...Swing小应用程序和应用程序都使用BorderLayout布局管理器来布局它们JRootPane实例,并且不允许显式地设置它们布局管理器。...首先,我们要讨论为什么Swing是线程不安全,然后介绍Swing开发过程中单线程设计所带来结果。  让我们面对这个事实,甚至java中,开发多线程应用程序也是不容易

2.3K20

Java图形化界面设计——布局管理器之BorderLayout

依次对应为:北(NORTH)、下南(SOUTH)、左西(WEST)、右东(EAST),中(CENTER),如下图所示。 ?...依次注释掉东、西、南、北和中间位置添加按钮语句,保留其它语句体会一下边框布局特点。...如果想要更复杂布局可以东、西、南、北和中间位置添加中间容器,中间容器中再进行布局,并添加相应组件,已达到复制补间效果。 实例二:中间位置中添加9个按钮。...add("West", new JButton("West")); //设置面板为流式布局居中显示,组件横、纵间距为5个像素 p.setLayout(new FlowLayout...(1, 5, 5)); //使用循环添加按钮,注意每次添加按钮对象名称都是b //但按钮每次均是用new新生成,所有代表不同按钮对象。

1.1K10

java学习之路:31.java常用布局管理器(绝对,流,边界,网格)

1.绝对布局 绝对布局,就是可以硬性指定组件容器中位置和大小,使用绝对坐标来指定组件位置与大小。...步骤如下: (1)使用Container.setLayout(null)方法取消布局管理器。 (2)使用Component.setBounds()方法设置每个组件大小与位置。...FlowLayout第一个参数表示组件每一行具体摆放位置,可以有三种,值分别为: 0:左对齐 1:居中 2:右对齐 后面两个参数分别以像素为单位指定组件之间水平间隔和垂直间隔。...container =jf.getContentPane(); jf.setLayout(new FlowLayout(1,10,10)); for(int i=0;i<10;i++) {...2.边界布局管理器 默认不指定窗体布局情况下,Swing组件布局模式是边界布局管理器,如果在容器中只添加了一个标签组件,这个标签将被放置在窗体中间,而且整个组件占据窗体所有空间,边界布局管理器还可以将容器划分为东

1.1K21

Java制作520表白代码——爱一个人需要理由吗?

2023年5月20日这个特殊日子里,我要用一段特别的代码来向你传递我对你深情。这段代码由Java语言编写,以表白为主题,将带给你无法拒绝浪漫体验。...✨简介 背景: "520"这个数字源于汉字发音,它与"我爱你"这句表达爱意中文词语相似。因此,"520"中国文化中被赋予了浪漫和表白含义。...社交媒体流行:随着社交媒体兴起,人们更容易"520"这一天分享自己爱情故事、浪漫瞬间和表白场景。这使得"520"成为了一个全民参与浪漫日子。...Java编程作为表白方式 技术与情感结合,通过使用Java编程作为表白方式,程序员们将技术与情感相结合。这不仅仅是展示他们编程技能,更是表达他们对心爱的人关心和爱意。...代码背后,隐藏着深深情感和真挚情感表达。 ✨设计表白程序思路 关于程序设计思路这块我就不多说了,会的人看一下写代码就能秒懂,不会也不会在意程序设计思路(这个建立对象和写程序)。

7210

Java进阶08 GUI

面向对象编程计算机图形方面应用非常成功。 一个简单GUI JavaGUI功能主要集中awt和swing两个包中。awt是GUI底层包。swing包是高层封装,更容易移植。...匿名类是Java一种嵌套类,它是使用new创建对象时,使用一个{}来直接包含类定义。匿名类定义中,我们不需要说明类名。...Content PanesetLayout()方法决定了元素布局(layout)方式。布局决定了元素位置。最直接布局是直接说明元素坐标位置(像素)。...但GUI设备尺寸可能差别很大,硬性规定像素位置将大大减小程序可移植性。Swing提供了更高层一些布局方法,比如FlowLayout下,元素将从左向右排列,排满之后进入下一行。...更多Java布局方式 图形元素 除了按钮之外,我们还可以GUI中增加更多元素,这些元素大都是JComponent衍生类。

1.7K70

java swing开发窗体程序开发(一)GUI编程

getLayer(Component c);//可以获得一个组件Layer (五)设置布局 即组件面板布局 容器/面板通过调用setLayout(布局对象)来设置布局 1:FlowLayout...布局:表示默认居中对齐,使用布局方式容器,用add函数向里面加组件,就会根据先后顺序从左向右排列,一行排完后就提行 使用布局方式,组件自身setSize将不会有用,要改变大小只能通过setPreferredSize...(DimensionpreferredSize) button.setPreferredSize(new Dimension(20,20))) 该布局方式对齐方式可以更改FlowLayout对象调用...setAlignment(int align);//使用该函数修改对齐方式,传入参数是一个静态常量,FlowLayout.LEFT,FlowLayout.CENTER FlowLayout.RIGHT...且显示出来组件将会占据该容器所有空间 使用该种布局容器添加组件时 add(String s,Component c) s只是一个代号,方便以后显示这个组件时找到 cardlayout对象

2.4K30

23 Java 图形化编程

而本章介绍Java图形用户界面技术是基于Java SE Swing,事实它们实际应用使用不多,因此本章内容只做了解。...Applet Applet称为Java小应用程序,Applet基础是AWT,但它主要嵌入到HTML代码中,由浏览器加载和运行,由于存在安全隐患和运行速度慢等问题,已经很少使用了。...JavaFX JavaFX是开发丰富互联网应用程序(Rich Internet Application,缩写RIA)图形用户界面技术,JavaFX期望能够桌面应用开发领域与Adobe公司AIR...使用时通过继承事件所对应适配器类,覆盖所需要方法,无关方法不用实现。...g2d.setTransform(trans); 习题 编写窗体应用,窗体中安排2个按钮,按钮上面的标签分别为“改背景”、“关闭”,点击“改背景”按钮,用随机产生颜色更改窗体背景,点击“关闭”按钮可关闭窗体

2.5K20

深入Java Swing用户界面组件布局管理器:网格布局+面板+边界布局

正如你所看到,按钮居中显示一行中,当一行空间不够时,将显示一行。 即使用户对框架进行缩放,这些按钮也会显示面板中央,如图9-7所示。...最后使用add方法将每个按钮添加到面板中。由于把按钮添加到面板中且没有改变默认布局管理器,所以每个按钮位置和大小都由FlowLayout管理器所控制。...面板只是用户界面设计者一个组织机制。 前面讲过,JPanel类使用FlowLayout作为默认布局管理器。对于JPanel来说,可以利用构造器为其提供不同布局管理器。...当然,极少有应用程序具有与计算器外表一样布局实际应用中,小网格(通常仅仅一行或者一列)组织窗口布局区域时比较有用。...例如,如果想有一行相同尺寸按钮,那么就可以把按钮放置一个面板里面,这个面板使用只有单行网格布局进行管理。

2.9K30

java Swing GUI 入门-文件读写器

Contariner容器向其中添加组件 容器Container是一个类,实际是Component子类,因此容器本身也是一个组件,具有组件所有性质,但它主要内容是容纳其他组件和容器,在其可视区显示这些组件...容器各种组件大小和位置是由容器布局管理器进行控制。 其实就是获取内容面板,JFrame无法直接添加组件需要getContentPane()获取面板,然后再内容面板添加组件。...因此平时添加窗口组件都是添加到ContentPane里, 通常都是分开写 Container c=this.getContentPane();//初始化一个容器 c.add(****); //容器添加控件...或是: this.getContentPane().add(); 首先向innerWindow这个组件中添加元素,使用网格布局 innerWindow.setLayout(new GridLayout...this.getContentPane().setLayout(new BorderLayout()); // 关于BorderLayout()边界布局法,主要是按照东南西北中顺序进行布局

68810

java swing一篇轻松学习(高考后可以自学)

方法名称 概述 getContentPane() 返回此窗体 contentPane 对象 getDefaultCloseOperation() 返回用户在此窗体单击“关闭”按钮时执行操作 setContentPane...Container c=getContentPane(); //将lable标签组件添加到内容窗格 c.add(lable); //设置本窗口是否可见 setVisible(true...public static void main(String[] args) { new Action(); } } 面板:(JPanel) 是一种中间层容器,它能容纳组件并将组件组合在一起,但它本身必须添加到其他容器中使用...*3、网格布局(GridLayout) *4、盒子布局(BoxLaYout) *5、空布局(null) */ jl.setLayout(new FlowLayout(FlowLayout.CENTER...布局管理器,将组件间横向和纵向间隙都设置为20像素 jPanel.setLayout(new FlowLayout(FlowLayout.LEADING,20,20));

9.3K10

Android流式布局FlowLayout详解

现在商城类APP几乎都要用到流式布局来实现选择属性功能,demo中是通过FlowLayout工具类实现流式布局 使用起来非常简单,十几行代码就可以实现; image.png 我们项目中大部分都是单选效果...,为了防止用到多选,demo中也实现了多选; FlowLayout大家不用研究怎么实现,只要会使用就好; 就好比谷歌提供ListView条目点击事件一样,只要会用就好,没必要研究个所以然;大家在用时候直接从...demo中复制到项目中即可; 大家可以将FlowLayout理解为一个线性布局;将准备好一个个子view添加到FlowLayout中即可; 首先看下布局文件: <LinearLayout xmlns:...); //第二步:移除FlowLayout所有子布局 flowLayout.removeAllViews(); //第三步:循环创建子View,添加到FlowLayout...,背景和文字颜色都是使用状态选择器,大家可以根据自己项目中需求随意更改: item_flowlayout.xml <?

1.6K10

java学习之路:32.史上最全Swing常用组件

应该有这样概念,Swing组件窗体通常与组件和容器相关,所以JFrame对象创建完成后,需要调用方法将窗体转换为容器,然后容器中添加组件或设置布局管理器,通常,这个容器用来包含和显示组件。...可以看到创建按钮涉及整个窗体,这是为什么呢,窗体默认使用边界布局器,创建组件会覆盖整个窗体,我们只需要取消边界布局,改用绝对布局: jf.setLayout(null); //告诉窗体取消边界布局...如果这里有疑问可查看: 布局管理器 2.创建带有文本按钮 JButton jb=new JButton("我是按钮"); jb.setBounds(50,50,100,100);//使用绝对布局...jl.setBounds(50,50,100,100);//使用绝对布局,自定义按钮大小 Container c=jf.getContentPane(); c.add(jl);...可以看到创建了一个空白下拉列表框,显然日常应用中是没有用,下面来添加选项: 2.创建一个JComboBox,它从现有的ComboBoxModel中获取项目。

6.2K32
领券