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

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

正如你所看到的,按钮居中显示在一行中,当一行的空间不够时,将显示在新的一行上。 即使用户对框架进行缩放,这些按钮也会显示在面板的中央,如图9-7所示。...面板如同界面元素的(较小的)容器,并且在布局管理器的控制之下,它们自己能够排列在一个更大的面板中。例如,可以把一个面板放在南部区域用于容纳按钮,而另一个面板放在中部用于显示文本。...假设希望显示如图9-10所示的外观,添加一个存放三个按钮的面板。首先创建一个新的JPanel的对象,然后往面板中添加单个按钮。面板的默认布局管理器是FlowLayout,这符合我们的需求。...最后使用add方法将每个按钮添加到面板中。由于把按钮添加到面板中且没有改变默认的布局管理器,所以每个按钮的位置和大小都由FlowLayout管理器所控制。...面板只是用户界面设计者的一个组织机制。 前面讲过,JPanel类使用FlowLayout作为默认的布局管理器。对于JPanel来说,可以利用构造器为其提供不同的布局管理器。

3.7K30

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

容器的功能, 但是与Container容器不同的就是:Container容器不需要添加在其他容器中,而JPanel面板必须添加在其他容器中。...因此JPanel面板的使用一般是与布局管理器相结合的, JScrollPane面板 先来看一种在界面设计时常见的问题:在一个较小的界面中显示一个较大的内容的情况,对于这种情况,我们常用的方法就是将较小的容器设置为...绝对布局管理器 除了网格布局管理器、流布局管理器、边界布局管理器这三种布局方式以外,还有一种较为不同的布局方式就是绝对布局,所谓绝对布局,就是按照一定的坐标数据将组件的坐标和大小硬性的设置在窗体上。...可以赋的值为: FlowLayout.LEFT = 0; FlowLayout.CENTER = 1; FlowLayout.RIGHT = 2; 以上三个值被赋予以后,表示组件在流布局管理器中每一行的摆放位置和摆放顺序...两个参数和流布局管理器中的一样,只不过在流布局管理器中表示的是组件之间的水平和垂直间距,而在网格布局管理器中表示网格之间的水平和垂直间距, 关于网格布局管理器的具体使用参考如下实例, 将容器设置为4行5

2.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    5、Java Swing布局管理器(FlowLayout、BorderLayout、CardLayout、BoxLayout、GirdBagLayout 和 GirdLayout)

    FlowLayout为小应用程序(Applet)和面板(Panel)的默认布局管理器。...其实现过程如下:           首先,定义面板,为个个面板设置不同的布局,并根据需要在每个面板中放置组件:                   panelOne.setLayout(new FlowLayout...5.7、TableLayout       这种管理器把容器划分为行和列,就像是电子表格中的单元格。Tablelayouot把行和列交叉的每一个格子称为基本的单元格(cell)。...由图可看出,每一列的宽度并不是固定的,也不是平均宽度的。同理每一行的高度也不是均分的,可以按照实际情况进行分配列的宽度和行的高度。组件可以放在容易的一个cell单元格中,也可以占几个单元格。...size[0]中存放的是列的宽度,size[1]中存放的是行的高度;数组中的整数表示该单元格的宽度或高度为多少像素,小数表示该单元格的宽度或高度为剩余空间的百分之多少,TableLayout.FILL表示将剩余的空间填满

    6.2K00

    Java图形用户界面设计的布局管理器

    AWT 提供了多种布局管理器类,不同的布局管理器类在布局策略和算法上也不同,常用的有 FlowLayout、BorderLayout、GridLayout 和 CardLayout。...在默认情况下, FlowLayout 布局管理器从左向右排列所有组件,遇到边界就会折回下一行重新开始。...然后,我们将窗口的布局管理器设置为 FlowLayout。接下来,我们创建了四个按钮,并使用 frame.add() 方法将它们添加到窗口中。最后,我们将窗口设置为可见。...每个按钮分别位于面板的不同位置(北、南、西、东和中心)。最后,将面板添加到主窗口中并显示窗口。...与 FlowLayout不同的是,放置在 GridLayout 布局管理器中的各组件的大小由组件所处的区域决定(每 个组件将自动占满整个区域) 。

    20210

    【Java AWT 图形界面编程】LayoutManager 布局管理器总结 ( FlowLayout 布局 | BorderLayout 布局 | BoxLayout 布局 )

    程序在不同平台的适配问题 , 如 : 在 Windows 中设置 100 px 的效果 , 与 在 Linux 中设置 200 px 的效果正好合适 ; 如果手动设置了组件的 宽高 , 位置 等精确的像素值...LayoutManager2 接口 CardLayout 卡片布局 GridBagLayout 网个包布局 BorderLayout 边框布局 不同的布局管理器 , 对多个组件的展示效果不同 ; 四...返回到开始位置 , 在下一行从头继续按照原方向进行排列 ; 如 : 下面的布局就是从左向右的流式布局 , 将 6 个组件放在 FlowLayout 流式布局中 , 1 , 2 , 3 组件放入后 ,...可以将 当前的 Container 容器 划分成 网格 , 每个网格 区域 相同 ; 向 使用了 GridLayout 网格布局管理器 的 Container 容器 中添加 Component 组件时...---- 为了 方便使用 BoxLayout 布局 , Swing 中提供了 Box 容器 ; Box 容器 默认的 布局管理器 就是 BoxLayout ; 通过在 Box 容器构造函数中传入不同的参数

    4.2K20

    【Java AWT 图形界面编程】LayoutManager 布局管理器 ② ( FlowLayout 流式布局 )

    , 将 6 个组件放在 FlowLayout 流式布局中 , 1 , 2 , 3 组件放入后 , 再 放入 4 组件 , 发现第 1 排位置不够了 , 遇到障碍 , 此时折 返回左侧 , 另起一行..., 在第 2 排继续从左到右排列 ; 二、FlowLayout 流式布局 API ---- FlowLayout 构造函数 : FlowLayout() 构造函数 : 使用 默认的 对齐方式 , 默认的...FlowLayout(int align, int hgap, int vgap) 构造函数 : 使用 指定的 对齐方式 , 指定的 垂直间距 和 水平间距 , 创建流式布局 ; /**...* 使用指定的对齐方式创建一个新的流布局管理器 * 以及指示的水平和垂直间隙。...流式布局代码示例 ---- Frame 是 Window 子类 , 是 界面中窗口 , 其 默认的布局管理器是 BorderLayout 布局管理器 , 通过 调用 Container#setLayout

    88420

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

    特征: l 可以把组件放在这五个位置的任意一个,如果未指定位置,则缺省的位置是CENTER。 l 南、北位置控件各占据一行,控件宽度将自动布满整行。...东、西和中间位置占据一行;若东、西、南、北位置无控件,则中间控件将自动布满整个屏幕。若东、西、南、北位置中无论哪个位置没有控件,则中间位置控件将自动占据没有控件的位置。...,组件横、纵间距为5个像素 p.setLayout(new FlowLayout(1, 5, 5)); //使用循环添加按钮,注意每次添加的按钮对象名称都是b...//但按钮每次均是用new新生成的,所有代表不同的按钮对象。...JButton(String.valueOf(i)); p.add(b); //将按钮添加到面板中 } this.getContentPane

    1.2K10

    JAVA入门学习十二

    [TOC] GUI界面开发 1.GUI布局管理器 Java总五大布局管理器: FlowLayout(流式布局管理器) 从左到右的顺序排列,Panel默认的布局管理器。...BorderLayout(边界布局管理器) 东,南,西,北,中,Frame默认的布局管理器。 //边界布局勾画出一个集装箱,安排和调整其成分放在五个区域:北,南,东,西,和中心。...GridLayout(网格布局管理器)规则的矩阵比如计算器程序中的数字1-9 CardLayout(卡片布局管理器)选项卡 GridBagLayout(网格包布局管理器):非规则的矩阵计算器中的加减...,一个面板的默认布局管理器是FlowLayout布局管理器。...Panel(LayoutManager layout) //创建一个新的面板与指定的布局管理器 //方法 setLayout(五大布局); //面板设置布局 实际案例: Panel center =

    1.1K10

    JAVA入门学习十二

    [TOC] GUI界面开发 1.GUI布局管理器 Java总五大布局管理器: FlowLayout(流式布局管理器) 从左到右的顺序排列,Panel默认的布局管理器。...BorderLayout(边界布局管理器) 东,南,西,北,中,Frame默认的布局管理器。 //边界布局勾画出一个集装箱,安排和调整其成分放在五个区域:北,南,东,西,和中心。...GridLayout(网格布局管理器)规则的矩阵比如计算器程序中的数字1-9 CardLayout(卡片布局管理器)选项卡 GridBagLayout(网格包布局管理器):非规则的矩阵计算器中的加减;...,一个面板的默认布局管理器是FlowLayout布局管理器。...Panel(LayoutManager layout) //创建一个新的面板与指定的布局管理器 //方法 setLayout(五大布局); //面板设置布局 实际案例: Panel center =

    1.1K10

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

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

    3.1K20

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

    JMenuItem:代表菜单项,续杯放在菜单中。...)【中间层容器】 刚刚是将所有的组件添加到继承至JFrame的类中,JFrame叫做底层容器,然而在实际开发和为了更好的使用【例如实现同一个窗口切换选项卡有不同的面板】 这些组件并不是直接添加在底层容器...默认布局是FlowLayout 2:JTabbedPane可切换选项卡面板:特点,向该面板中添加组件时,会可以为这个组件添加选项卡。...布局:表示默认居中对齐,使用该布局方式的容器,用add函数向里面加组件,就会根据先后顺序从左向右排列,一行排完后就提行 使用该布局方式,组件自身的setSize将不会有用,要改变大小只能通过setPreferredSize...()的方式 4:GridLayout布局:即格子布局,将容器划分为若干行和若干列,在小格子添加组件 需要注意的是:这些小格子的大小不能改,所有格子强制大小相同,且排列顺序是从左到右,一行排完后再提行

    3K30

    布局管理器

    不同的布局管理器有不同的风格 FlowLayout布局管理器 FlowLayout是Panel类的默认布局管理器 FlowLayout布局管理器对组件逐行定位,行内从左到右,一行排满后换行 不改变组件大小...,垂直间距40 FlowLayout(FlowLayout.LEFT):左对齐,水平和垂直间距为缺省值(5) FlowLayout():使用缺省的居中对齐方式,水平和垂直间距为缺省值(5) import...GridLayout布局管理器 GridLayout型布局管理器将空间划分成规则的矩形网格,每个单元格区域大小相等。...组件被添加到每个单元格中,先从左到右添满一行后换行,再从上到下 在GridLayout构造方法中制定分割的行数和列数 如:GridLayout(3,4) import java.awt.*; public...Frame是一个顶级窗口,Frame的缺省布局管理器为BorderLayout Panel无法单独显示,必须添加到某个容器中 Panel的缺省布局管理器为FlowLayout 当把Panel作为一个组件添加到某个容器中后

    1.1K10

    java swing图形化界面_javagui界面设计

    布局管理器 把 Swing 的各种组件(JComponent)添加到面板容器中(JPanel),需要给面板容器指定布局管理器(LayoutManager),明确容器(Container)内的各个组件之间的排列布局方式...常用的布局管理器: # 布局管理器 描述 1 FlowLayout 流式布局,按组件加入的顺序,按水平方向排列,排满一行换下一行继续排列。...4 BoxLayout 箱式布局,将Container中的多个组件按 水平 或 垂直 的方式排列。...6 CardLayout 卡片布局,将Container中的每个组件看作一张卡片,一次只能显示一张卡片,默认显示第一张卡片。...创建中间容器(面板容器) JPanel panel = new JPanel(); // 创建面板容器,使用默认的布局管理器 // 3.

    1.7K50

    23 Java 图形化编程

    AWT是Applet和Swing技术的基础。 AWT在实际的运行过程中是调用所在平台的图形系统,因此同样一段AWT程序在不同的操作系统平台下运行所看到的样式不同的。...布局管理 Java为了实现图形用户界面的跨平台,并实现动态布局等效果,Java 将容器内的所有组件布局交给布局管理器管理。...上述参数align是对齐方式,它是通过FlowLayout的常量指定的,这些常量说明如下: FlowLayout.CENTER:指示每一行组件都应该是居中的。...FlowLayout.LEADING:指示每一行组件都应该与容器方向的开始边对齐,例如,对于从左到右的方向,则与左边对齐。 FlowLayout.LEFT:指示每一行组件都应该是左对齐的。...FlowLayout.RIGHT:指示每一行组件都应该是右对齐的。 FlowLayout.TRAILING:指示每行组件都应该与容器方向的结束边对齐,例如,对于从左到右的方向,则与右边对齐。

    2.6K20

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

    ,流布局管理器在整个容器中 * 的布局正如其名,像流一样从左到右摆放组件,直到占据了这一行的所有空间,然后再向下移动一行。...* 默认情况下,组件在每一行上都是居中排列的,但是通过设置也可以更改组件在每一行上的排列位置 * * 2:FlowLayout类中具有三种构造方法 * alignment参数使用流布局管理器后组件在每一行的具体摆放位置...//FlowLayout第一个参数设置为1每一行组件将按照中间对齐排列 //FlowLayout第一个参数设置为2每一行组件将按照右对齐排列...,Swing组件的布局模式是边界(BorderLayout) * 布局管理器 * * 2:边界布局管理器还可以将容器划分为东西南北中5个区域,可以将组件加入到这5个区域中 * 边界布局管理器可将标签放置在窗体中间...,然后设置容器使用边界布局管理器 * 最后在循环中将按钮添加到容器中,并设置组件布局 *2:add()方法提供了在容器中添加组件的功能,并同时设置组件的摆放位置 * */

    1.5K00

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

    ,流布局管理器在整个容器中 * 的布局正如其名,像流一样从左到右摆放组件,直到占据了这一行的所有空间,然后再向下移动一行。...* 默认情况下,组件在每一行上都是居中排列的,但是通过设置也可以更改组件在每一行上的排列位置 * * 2:FlowLayout类中具有三种构造方法 * alignment参数使用流布局管理器后组件在每一行的具体摆放位置...//FlowLayout第一个参数设置为1每一行组件将按照中间对齐排列 //FlowLayout第一个参数设置为2每一行组件将按照右对齐排列...,Swing组件的布局模式是边界(BorderLayout) * 布局管理器 * * 2:边界布局管理器还可以将容器划分为东西南北中5个区域,可以将组件加入到这5个区域中 * 边界布局管理器可将标签放置在窗体中间...,然后设置容器使用边界布局管理器 * 最后在循环中将按钮添加到容器中,并设置组件布局 *2:add()方法提供了在容器中添加组件的功能,并同时设置组件的摆放位置 * */

    1K30

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

    方法名及返回值类型 说明 Component add(Component comp) 将指定的组件追加到此容器的尾部 void remove(Component comp) 从容器中移除指定的组件 void...布局管理器,将组件间的横向和纵向间隙都设置为20像素 jPanel.setLayout(new FlowLayout(FlowLayout.LEADING,20,20));...getSelectedRow() 返回第一个选定行的索引,如果没有选定的行, 则返回 -1 getValueAt(int row,int column) 返回 row 和 column 位置的单元格值...isEditing() 如果正在编辑单元格,则返回 true selectAll() 选择表中的所有行、列和单元格 setColumnSelectionInterval(int index0,int...之间(包含两端)的行 setTableHeader(JTableHeader tableHeader) 将此 JTable 所使用的 tableHeader 设置为 newHeader setUpdateSelectionOnSort

    9.6K10

    【干货】20K以上的高薪Java必掌握的基础知识点(二)

    84、在操作系统把程序所写到输出流上的那些字节保存到磁盘上之前,内容有时被存放在内存缓冲区中,通过调用 close() 方法,可以保证操作系统把流缓冲区的内容写到它的目的地。...94、Java程序中可以向容器添加组件,一个容器可以使用 add() 方法将组件添加到该容器中。...99、JPanel 的默认布局管理器是 FlowLayout 。...104、GridLayout 是使用较多的布局编辑器,其基本布局策略是把容器划分成若干行乘若干列的网格区域,组件就位于这些划分出来的小格中。...105、FlowLayout、GridLayout、BordrLayout布局对象都可以使用方法setVgap(intvgap)设置当前布局中组件的垂直间距 。

    1.5K71

    11 - JavaSE之GUI

    Panel() // 使用默认的布局管理器初始化。 Panle(LayoutManager layout) // 使用指定的布局管理器初始化。 Panel 类拥有从其父继承来的一些常用成员方法。...FlowLayout 布局管理器对组件逐行定位,行内从左到右,一行排满后换行。 不改变组件的大小,按组件原有尺寸显示组件,可以设置不同的组件间距,行距以及对齐方式。...组件被添加到每个单元格中,先从左到右填满一行后换行,再从上到下。 在 GridLayout 构造方法中指定分割的行数和列数。(如:GridLayout(3, 4); // 整个空间分为3行4列。)...Frame 是一个顶级窗口,Frame 的缺省布局管理器为 BorderLayout Panel 无法单独显示,必须添加到某个容器中,Panel 的缺省布局管理器为 FlowLayout....使用布局管理器时,布局管理器负责各个组件的大小和位置,因此用户无法在这种情况下设置组件的大小和位置属性,如果试图使用 Java 提供的 setLocation(), setSize(), setBounds

    1.9K50
    领券