java界面中的布局管理器(转载)

Java Swing 图形界面开发(目录) Java Swing 图形界面(GUI)开发基础教程(目录),Swing 项目预览。 阅读详情

转载自http://blog.sina.com.cn/s/blog_6f116c940101alna.html

1.BorderLayout

java.lang.Object

--java.awt.BorderLayout

将版面划分成东、西、南、北、中五个区域,将添加的组件按指定位置放置。

  •     BorderLayout.EAST
  •     BorderLayout.WEST
  •     BorderLayout.SOUTH
  •     BorderLayout.NORTH
  •     BorderLayout.CENTER

构造函数:

BorderLayout()

建立组件间无间距的BorderLayout

BorderLayout(int hgap,int vgap)

建立组件间水平间距为hgap,垂直间距为vgap的BorderLayout

例一:

 

  1. import java.awt.BorderLayout;  
  2. import javax.swing.JFrame;  
  3. import javax.swing.JButton;  
  4.   
  5.   
  6. public class BorderLayoutDemo {  
  7.   
  8.     public static void main(String[] args) {  
  9.         //建立一个JFrame,JFrame的默认LayoutManager为BorderLayout   
  10.         JFrame f=new JFrame("BorderLayout");  
  11.         JButton btn=new JButton("BorderLayout.NORTH");  
  12.         f.add(btn,BorderLayout.NORTH);  
  13.         btn=new JButton("BorderLayout.SOUTH");  
  14.         f.add(btn,BorderLayout.SOUTH);  
  15.         btn=new JButton("BorderLayout.EAST");  
  16.         f.add(btn,BorderLayout.EAST);  
  17.         btn=new JButton("BorderLayout.West");  
  18.         f.add(btn,BorderLayout.WEST);  
  19.         btn=new JButton("BorderLayout.CENTER");  
  20.         f.add(btn,BorderLayout.CENTER);  
  21.         f.pack();  
  22.         f.setVisible(true);  
  23.         f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  24.     }  
  25.   
  26. }  

运行结果:

BorderLayout

在上例代码的第13,14行之间插入以下代码

 

  1. f.setLayout(new BorderLayout(10,10));  

运行结果:

BorderLayout

 


 

2.FlowLayout

java.lang.Object

--java.awt.FlowLayout

组件按从左到右而后从上到下的顺序依次排列,一行不能放完则折到下一行。

 

构造函数:

FlowLayout()

建立一个默认为居中对齐,组件彼此有5单位的水平与垂直间距的FlowLayout

FlowLayout(int align)

建立一个可设置排列方式且组件彼此有5单位的水平与垂直间距的FlowLayout

FlowLayout(int align,int hgap,int vgap)

建立一个可设置排列方式与组件间距的FlowLayout

例二:

 

  1. import java.awt.FlowLayout;  
  2. import javax.swing.JFrame;  
  3. import javax.swing.JButton;  
  4.   
  5.   
  6. public class FlowLayoutDemo {  
  7.   
  8.     public static void main(String[] args) {  
  9.         JFrame f=new JFrame("FlowLayout");  
  10.         f.setLayout(new FlowLayout());  
  11.         for(int i=0;i<7;i++){  
  12.             JButton btn=new JButton("Button"+i);  
  13.             f.add(btn);  
  14.         }  
  15.         f.setSize(300,150);  
  16.         f.setVisible(true);  
  17.         f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  18.     }  
  19.   
  20. }  

运行结果:

FlowLayout

 


 

3.GridLayout

 

java.lang.Object

--java.awt.GridLayout

矩形网格形式对容器的组件进行布置

 

构造函数:

GridLayout()

建立一个默认为一行一列的GridLayout

GridLayout(int rows,int cols)

建立一个指定行(rows)和列(cols)的GridLayout

GridLayout(int rows,int cols,int hgap,int vgap)

建立一个指定行(rows)和列(cols),且组件间水平间距为hgap、垂直间距为vgap的GridLayout

例三:

 

  1. import java.awt.GridLayout;  
  2. import javax.swing.JFrame;  
  3. import javax.swing.JButton;  
  4.   
  5.   
  6. public class GridLayoutDemo {  
  7.   
  8.     public static void main(String[] args) {  
  9.         JFrame f=new JFrame("GridLayout");  
  10.         //设置f的布局管理器为3行3列的GridLayout,组件间水平与垂直间距为5   
  11.         f.setLayout(new GridLayout(3,3,5,5));  
  12.         for(int i=1;i<10;i++){  
  13.             JButton btn=new JButton(String.valueOf(i));  
  14.             f.add(btn);  
  15.         }  
  16.         f.pack();  
  17.         f.setVisible(true);  
  18.         f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  19.     }  
  20.   
  21. }  

运行结果:

GridLayout2

 


 

4.GridBagLayout

 

java.lang.Object

 --java.awt.GridBagLayout

GridBagLayout以表格形式布置容器内的组件,将每个组件放置在每个单元格内,而一个单元格可以跨越多个单元格合并成一个单元格,即多个单元格可以组合成一个单元格,从而实现组件的自由布局。

构造函数:

GridBagLayout()

建立一个默认的GridBagLayout

每一个单元格都有各自的属性,而这些属性由GridBagConstrainsts类的成员变量来定义,且GridBagConstriaints中的所有成员变量都是public的。

java.lang.Object

--java.awt.GridBagConstratints

构造函数:

GridBagConstraints()

建立一个默认的GridBagConstraints

GridBagConstraints(intgridx,int gridy,int gridwidth,int gridheight,double weightx,double weighty,int anchor,int fill,Insets insets,int ipadx,int ipady)

建立一个指定其参数值的GridBagConstraints

GridBagConstraints的成员变量:

  • int gridx
  • int gridy
  • int gridwidth
  • int gridheight
  • double weightx
  • double weighty
  • int anchor
  • int fill
  • Insets insets
  • int ipadx
  • int ipady

gridx,gridy:设置组件所处行与列的起始坐标。例如gridx=0,gridy=0表示将组件放置在0行0列单元格内。

gridwidth,gridheight:设置组件横向与纵向的单元格跨越个数。

可以通过GridBagConstraints的RELETIVE,和REMAINDER来进行指定,它的用法是:

当把gridx值设置为GridBagConstriants.RELETIVE时,所添加的组件将被放置在前一个组件的右侧。同理,对gridy 值设置为GridBagConstraints.RELETIVE时,所添加的组件将被放置在前一个组件的下方,(这是一种根据前一个组件而决定当前组 件的相对放置方式)

对gridweight和gridheight也可以应用GridBagConstraints的REMAINDER方式,创建的组件会从创建的起点位置 开始一直延伸到容器所能允许的界限为止。该功能使得你可以创建跨越某些行或列的组件,从而改变相应方向上组件的数目,即使其后在布局的其他地方添加额外的组件也是如此。

weightx,weighty:设置窗口变大时的缩放比例。

anchor:设置组件在单元格中的对齐方式。由以下常量来定义

GridBagConstraints.CENTER

GridBagConstraints.EAST

GridBagConstraints.WEST

GridBagConstraints.SOUTH

GridBagConstraints.NORTH

GridBagConstraints.SOUTHEAST

GrisBagConstraints.SOUTHWEST

GridBagConstraints.NORTHEAST

GridBagConstraints.NORTHWEST

fill:当某个组件未能填满单元格时,可由此属性设置横向、纵向或双向填满。由以下常量来定义

GridBagConstraints.NONE

GridBagConstraints.HORIZONTAL

GridBagConstraints.VERTICAL

GridBagConstraints.BOTH

insets:设置单元格的间距。

java.lang.Object

--java.awt.Insets

Insets(int top,int left,int bottom,int right)

ipadx,ipady:将单元格内的组件的最小尺寸横向或纵向扩大。若一个组件的尺寸为30*10像素,ipadx=2,ipady=3,则单元格内的组件最小尺寸为34*16像素

例四:

 

  1. import java.awt.GridBagLayout;  
  2. import java.awt.GridBagConstraints;  
  3. import java.awt.Insets;  
  4. import javax.swing.JFrame;  
  5. import javax.swing.JButton;  
  6.   
  7.   
  8. public class GridBagLayoutDemo {  
  9.   
  10.     public static void main(String[] args) {  
  11.         JFrame f=new JFrame("GridBagLayout");  
  12.         f.setLayout(new GridBagLayout());  
  13.         JButton btn=new JButton("first");  
  14.         GridBagConstraints gbc=new GridBagConstraints();  
  15.         //设定第一个单元格的属性值   
  16.         gbc.gridx=0;  
  17.         gbc.gridy=0;  
  18.         gbc.gridwidth=1;  
  19.         gbc.gridheight=1;  
  20.         gbc.weightx=0;  
  21.         gbc.weighty=0;  
  22.         gbc.anchor=GridBagConstraints.NORTHWEST;  
  23.         gbc.fill=GridBagConstraints.NONE;  
  24.         gbc.insets=new Insets(0,0,0,0);  
  25.         gbc.ipadx=0;  
  26.         gbc.ipady=0;  
  27.         f.add(btn,gbc);  
  28.   
  29.         //设定第二个单元格属性值   
  30.         gbc.gridx=1;  
  31.         gbc.gridy=0;  
  32.         gbc.gridwidth=GridBagConstraints.REMAINDER;  
  33.         gbc.gridheight=1;  
  34.         gbc.weightx=1;  
  35.         gbc.weighty=0;  
  36.         gbc.anchor=GridBagConstraints.CENTER;  
  37.         gbc.fill=GridBagConstraints.HORIZONTAL;  
  38.         gbc.insets=new Insets(5,5,5,5);  
  39.         gbc.ipadx=0;  
  40.         gbc.ipady=0;  
  41.         btn=new JButton("second");  
  42.         f.add(btn,gbc);  
  43.   
  44.         //设定第三个单元格属性值   
  45.         gbc.gridx=0;  
  46.         gbc.gridy=1;  
  47.         gbc.gridwidth=1;  
  48.         gbc.gridheight=GridBagConstraints.REMAINDER;  
  49.         gbc.weightx=0;  
  50.         gbc.weighty=1;  
  51.         gbc.anchor=GridBagConstraints.CENTER;  
  52.         gbc.fill=GridBagConstraints.VERTICAL;  
  53.         gbc.insets=new Insets(0,0,0,0);  
  54.         gbc.ipadx=10;  
  55.         gbc.ipady=10;  
  56.         btn=new JButton("three");  
  57.         f.add(btn,gbc);  
  58.         f.pack();  
  59.         f.setVisible(true);  
  60.         f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  61.     }  
  62.   
  63. }  

运行结果:

 

GridBagLayout

将窗口变大后的效果:

 

GridBagLayout2

 


5.CardLayout

 

java.lang.Object

--java.awt.CardLayout

以层叠的方式布置组件,如同很多张卡片叠在一起,从而只能看到最上面的那一张卡片。

构造函数:

CardLayout()

建立一个无间距的CardLayout

CardLayout(int hgap,int vgap)

建立一个水平间距为hgap、垂直间距为vgap的CardLayout

例五:

 

  1. import java.awt.BorderLayout;  
  2. import java.awt.CardLayout;  
  3. import java.awt.event.ActionEvent;  
  4. import java.awt.event.ActionListener;  
  5. import javax.swing.JFrame;  
  6. import javax.swing.JPanel;  
  7. import javax.swing.JLabel;  
  8. import javax.swing.JButton;  
  9.   
  10.   
  11. public class CardLayoutDemo {  
  12.   
  13.     private static JPanel p;  
  14.     public static void main(String[] args) {  
  15.         JFrame f=new JFrame("CardLayout");  
  16.         p=new JPanel();  
  17.         //将JPanel p的LayoutManager设置为CardLayout   
  18.         p.setLayout(new CardLayout());  
  19.   
  20.         //新建两个JPanel   
  21.         JPanel p1=new JPanel();  
  22.         JPanel p2=new JPanel();  
  23.         JLabel lb=new JLabel("first panel");  
  24.         p1.add(lb);  
  25.         lb=new JLabel("second panel");  
  26.         p2.add(lb);  
  27.   
  28.         //将新建的两个JPanel p1,p2添加到p中   
  29.         p.add(p1,"frist");  
  30.         p.add(p2,"second");  
  31.   
  32.         //设置默认显示first所对应的JPanel p1   
  33.         ((CardLayout)p.getLayout()).show(p, "frist");  
  34.   
  35.         JButton cbtn=new JButton("Change");  
  36.         cbtn.addActionListener(new ActionListener(){  
  37.   
  38.             public void actionPerformed(ActionEvent e) {  
  39.                 //当按下Change按钮时,显示second 对应的JPanel p2   
  40.                 ((CardLayout)p.getLayout()).show(p, "second");  
  41.             }  
  42.               
  43.         });  
  44.         f.add(cbtn,BorderLayout.NORTH);  
  45.         f.add(p,BorderLayout.CENTER);  
  46.         f.setSize(400,150);  
  47.         f.setVisible(true);  
  48.         f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  49.     }  
  50.   
  51. }   

运行结果:

CardLayout1

按下Change按钮后的结果:

 

CardLayout2


6.BoxLayout

 

java.lang.Object

--javax.swing.BoxLayout

以嵌套式盒子来管里容器的布局,通过将组件放入水平或垂直形盒子以多层嵌套的方式进行布局。

构造函数:

BoxLayout(Container target,int axis)

建立一个水平或垂直的BoxLayout,BoxLayout提供两个常数X_AXIS和Y_AXIS来表示水平或垂直排列。

说到BoxLayout,就不得不提到Box这个Container,Box这个Container默认的Layout为BoxLayout,而它只能使用这个Layout,否则编译时会有Error产生。

java.lang.Object

--javax.swing.Box

Box有水平的和垂直的两种形式。

构造函数:

Box(int axis)

建立一个Box Container(容器),并指定组件的排列方式,通过使用BoxLayout提供的两个常数X_AXIS和Y_AXIS来指定。

 

方法:

public static Box createHorizontalBox()

构造一个水平排列的Box组件。

 

  1. import javax.swing.Box;  
  2. import javax.swing.JFrame;  
  3. import javax.swing.JButton;  
  4.   
  5.   
  6. public class BoxLayoutDemo {  
  7.   
  8.     public static void main(String[] args) {  
  9.         JFrame f=new JFrame("BoxLayout");  
  10.         //创建水平Box组件   
  11.         Box box=Box.createHorizontalBox();  
  12.         JButton btnA=new JButton("A");  
  13.         JButton btnB=new JButton("B");  
  14.         box.add(btnA);  
  15.         box.add(btnB);  
  16.         f.add(box);  
  17.         f.pack();  
  18.         f.setVisible(true);  
  19.         f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  20.     }  
  21.       
  22. }   

运行结果:

BoxLayout1

public static Component createHorizontalGlue()

构造一个Glue组件可向水平方向延伸。

在上例17,18行间插入以下代码

 

  1. box.add(Box.createHorizontalGlue());  

运行结果:

BoxLayout2

将窗口变大后的效果:

 BoxLayout3

public static Component createHorizontalStrut(int width)

构造一个水平指定宽度的Strut组件。

将上例代码改成以下代码

 

  1. box.add(Box.createHorizontalStrut(50));  

运行结果:

BoxLayout4

public static Component createRigidArea(Dimension d)

构造一个指定长宽的二维Rigid组件。

将上例代码改成以下代码

 

  1. box.add(Box.createRigidArea(new Dimension(50,50)));  

运行结果:

BoxLayout5

public static Box createVerticalBox()

构造一个垂直排列的Box组件。

public static Component createVerticalGlue()

构造一个垂直的Glue组件。

public static Component createVerticalStrut(int height)

构造一个垂直的Strut组件。

public static Component createGlue()

构造一个Glue组件可向水平方向延伸。

Box.Fillter

Fillter是Box的inner class(内部类),它的功能与Rigid相似,都可以指定长宽的大小限制,且Fillter可以指定最大、较佳、最小的长宽大小。

告别玄学调参:手把手教你用LSTM-AutoEncoder为传感器数据做异常检测(实战篇) 本文详细介绍了LSTM-AutoEncoder在传感器数据异常检测中的工程化实践,包括数据预处理、模型架构设计和生产环境部署策略。通过结合LSTM的时间序列处理能力和AutoEncoder的特征提取优势,该方法能够有效识别温湿度、PM2.5等传感器数据的异常模式,适用于工业物联网和室内空气质量监测等场景。 阅读详情

相关推荐

我花3年踩坑总结的C#上位机开发指南:从零基础到项目落地(附实战案例)

串口乱码:编码格式不匹配,一定要和设备端确认;PLC连接超时:检查IP地址和端口,确保上位机和PLC在同一网段;界面卡死:耗时操作没开线程,WinForm用BackgroundWorker,WPF用Task;数据解析错误:寄存器地址算错(Modbus地址从0还是1开始);Modbus数据丢包:加CRC校验,重要数据重发机制;WPF绑定不生效:忘记实现INotifyPropertyChanged;项目打包失败:缺少依赖DLL,用Dependency Walker检查;现场环境不兼容。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1839

02.JavaSwing(顶层容器——JFrame类)

JFrame:用于框架窗口的类,此窗口带有边框、标题、关闭和最小化窗口的图标。带 GUI 的应用程序至少使用一个框架窗口。

淡独东执 7630

2023年LitCTF web组wp

1、导弹迷踪2、1zjs3、php是世界上最好的语言!!4、Ping5、我Flag呢?7、作业管理系统8、Vim yyds10、这是什么?SQL!注一下!11、Flag点击就送!12、就当无事发生13、彩蛋。

m0_74160536的博客 1589

LayoutManager

BorderLayoutFlowLayoutGridLayoutGridBagLayoutCardLayoutBoxLayout1.BorderLayoutjava.lang.Object--java.awt.BorderLayout将版面划分成东、西、南、北、中五个区域

伏龙的专栏 1670

锐浪报表 Grid++Report 子报表 Delphi

锐浪报表 Grid++Report 是国内较好的报表控件,本人一直使用它,做出很多特色的报表。可以说你的报表设计出来,它基本上能做出来。 但是它帮助文件上,说的不深,近期因为要做一个有关社工的报表,大表中,嵌套2个子表。可以说,一个表到三个数据集,分别打印。 在认真看了帮助的基础上,网上探索,基本无此类,特别是Delphi的帮助,几乎为零。经二天摸索,做出来了。 一、设计思路 1、大表和二个小表,可以设计为三个表,分别使用三个GridppReport控件,取名...

lyhoo163的专栏 9072

赛豆科技 AIVA 汽车智能体架构演进面试题与答案

摘要 赛豆科技AIVA汽车智能体架构从座舱AI演进到整车智能体,最终实现自进化的超级智能体。其核心是"先有AI再有车"的理念,将AI作为产品主轴而非附加功能。架构设计采用端-边-云协同,确保低延迟响应;整车智能体通过Planner、Tool Registry等关键组件实现自主决策;自进化机制结合车端个性化学习和云端群体学习,并设置多重安全验证。多域协作采用分层架构,关键安全功能仍由确定性逻辑控制。该架构实现了从被动响应到主动服务的范式转变,使车辆能够持续进化。

AI天才研究院 121

java-swing-基本组件

不乱于心,不困于情,不念过去,不惧将来

kuangpeng1956的博客 1万+

【ARMv9 DSU-120 系列 1 -- DSU-120 DynamIQ 概述】

ARMv9架构中的DynamIQ™ Shared Unit-120(简称DSU-120)为一组基于Cortex-A类架构的核心提供了共享的L3内存系统、窥探控制(snoop control)和 过滤(filtering) 以及其他支持集群运作的控制逻辑。这个集群被称为DSU-120 DynamIQ™集群。此外,所有连接到片上系统(SoC)的外部接口也都是通过DSU-120提供的。一个DSU-120 DynamIQ™集群可以包含1到14个核心,且同一集群中可包含多达三种不同类型的核心。

CodingCos的博客 1185

Java Swing库之JFrame类

在这个示例中,我们首先创建了一个标题为"JFrame Example"的窗口,并设置了其大小和默认关闭操作。然后,我们创建了一个按钮并添加到窗口。最后,我们显示了窗口。是Java Swing库中的一个类,它用于创建一个顶级窗口。类,提供了更多的功能和更好的可移植性。

weixin_63490470的博客 1325

【RT-DETR创新改进】改进前必看!对Ultralytics调参, 1:1还原RT-DETR官方版本实验参数,使用原汁原味的RT-DETR模型,才能高效跑实验、高效涨点、收割小论文、完成大论文!!!

本文针对Ultralytics训练RT-DETR精度不佳问题,提供参数配置优化方案。通过对比官方RT-DETR参数设置,详细指导如何修改Ultralytics版本的关键参数,包括优化器、学习率、权重衰减等6处配置调整。操作步骤涵盖default.yaml文件修改和trainer.py代码调整,确保模型收敛性能达到官方水平,帮助研究者快速提升实验效果。文末附官方源码链接和具体参数配置网址供参考。

Ai缝合怪、助力小伙伴高效发论文 1775

计算机组成原理(第三版)唐朔飞-第四章存储器-课后习题

计算机组成原理(第三版)唐朔飞-第四章存储器-课后习题

weixin_45735391的博客 17万+

第一篇技术博客(从0到1)

2017年已经到来,今年定个小目标,开始写博客, 把从事开发工作以来,自己总结的技术心得与大家做一个分享,希望大家多交流。 关键词:Android 、iOS  、音视频、React Native 、Kotlin、产品 、创业 目录暂定如下(后续完善): (1)Android  音视频开发 、IPTV智能机顶盒、 网上商城App开发中问题总结 (2)iOS 对比Android中的技术点,...

小羊子的技术专栏 1207

从LLM到VLM再到VLA:三兄弟的“变形记”——定义、架构演进与最新趋同

LLM、VLM、VLA虽然在时间上依次出现,但它们在架构上的演进并非线性替代,而是形成了一个从“理解语言”到“理解世界”再到“改变世界”的认知闭环。VLA之所以能在短短三年内从概念走向现实,正是因为它站在了LLM和VLM的肩膀上——RT-2的泛化能力来自互联网规模的VLM预训练,π0的扩散策略受益于生成式模型的突破,Helix的双系统架构借鉴了“快慢思考”的认知科学洞见。而反过来,VLA在实际部署中遇到的效率瓶颈和实时性要求,也在倒逼LLM和VLM向更轻量、更高效的架构方向演进。

Ven%的博客 490

java界面设计 布局_[转载]Java图形化界面设计——布局管理器之BoxLayout布局(盒式布局)...

允许垂直或水平布置多个组件的布局管理器。这些组件将不包装,因此举例来说,垂直排列的组件在重新调整框架的大小时仍然被垂直排列。用水平组件和垂直组件的不同组合嵌套多面板的作用类似于GridBagLayout,但没那么复杂。该图显示了两个水平排列的面板,每个面板都包含 3 个垂直排列的组件。BoxLayout 管理器是用 axis参数构造的,该参数指定了将进行的布局类型。有四个选择:X_AXIS:从左到...

weixin_36116008的博客 1169

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

转:Java图形化界面设计——布局管理器之FlowLayout(流式布局)其他请参考转载出处网址...

http://blog.youkuaiyun.com/liujun13579/article/details/7771191前文讲解了JFrame、JPanel,其中已经涉及到了空布局的使用。Java虽然可以以像素为单位对组件进行精确的定位,但是其在不同的系统中将会有一定的显示差异,使得显示效果不尽相同,为此java提供了布局管理器,以使编写的图形界面具有良好的平台无关性。 注意:所有的布...

zhulinniao 56

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Java图形化界面设计——布局管理器之FlowLayout(流式布局)(转载)

原文地址:https://blog.youkuaiyun.com/liujun13579/article/details/7771191

FDGFGFDGFD的博客 577

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Java GUI——Java图形用户界面

Java GUI——Java图形用户界面 1、Java GUI概述 1.1、GUI的前世今生 早期,电脑向用户提供的是单调、枯燥、纯字符状态的“命令行界面(CLI)”。如:Windows中的DOS窗口。后来,Apple公司率先在电脑的操作系统中实现了图形化的用户界面(Graphical User Interface,简称GUI),但由于Apple公司封闭的市场策略,与其它PC不兼容。这使得Apple公司错过了一次一统全球PC的好机会。后来,Microsoft公司推出了风靡全球的Windows操...

小仙儿 16万+

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

jJava图形化界面设计——布局管理器之BorderLayout 觉得有用的话,欢迎一起讨论相互学习~ 转载自: 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.youkuaiyun.com/liujun13579/article/details/7772215 边界布局管理器把容器的的布局分为五个位置:CENTER、EAST、WEST、NORTH、SOUTH。依次对应为:上北(NORTH)、下南(SOUTH)、左西(WES

泛用演化计算、通用人工智能优化模型 760

java布局管理器的应用总结_[转载]java布局管理器总结

之前在使用的过程中一直对java中swing的布局管理器感到很困惑,以下是在网上找到的一篇文章。其中我重点关注了一下gridbaglayout。写的比较详尽:1.BorderLayoutjava.lang.Object--java.awt.BorderLayout将版面划分成东、西、南、北、中五个区域,将添加的组件按指定位置放置。BorderLayout.EASTBorderLayout.WEST...

weixin_42493313的博客 255

[转载]布局管理器GridBagLayout的使用

[J] 布局管理器 GridBagLayout 的使用 Java布局管理器有FlowLayout, BorderLayout, GridLayout, CardLayout, GridBagLayout等,相比较而言,GridBagLayout的使用方式要复杂一些。但它的表现力也最丰富。之前我对GridBagLayout的使用也是一知半解,具体的用法不是十分的明了。这两

Mr.Left的IT世界 884

Panel中的布局管理,使用flowlayout布局管理器

Panel中的布局管理,使用flowlayout布局管理器 import java.awt.Color;import java.awt.FlowLayout;import java.awt.Panel;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;...

1044

[转载]布局管理器LayoutManager

布局管理器LayoutManagerLayoutManager 直接子类:GridLayout, FlowLayout等调用:java.awt.Container调用doLayout时调用 代码如下 (参考java.awt...

congji3817的博客 278

java.awt之布局管理器

Java的awt包中定义了很多GUI组件,如按钮、标签、文本框等,这些组件一般放在Frame、Panel容器中进行管理。容器中的组件的大小、位置、排列方式等属性统称为容器的布局。在java中提供了布局管理器对容器中的布局进行管理。常用的布局管理器及其显示特性如下表: 所属类包 布局管理器名称 显示效果 Java.awt FlowLayout 组件按照加入的先后顺序逐行摆放,...

def3960的博客 218

布局管理器的使用

临近考试,在复习中,就请大家和我一起回顾一下知识点。 布局管理器:组件在容器中的位置和尺寸是由容器的布局管理器来决定的,所有的容器都会引用一个布局管理器实例,通过它来管理容器的布局。 介绍一个边界布局管理器的使用: import java.awt.BorderLayout;import java.awt.Button;import java.awt.Frame;import jav...

300

java 布局管理器

容器中的组件的排放方式,就是布局。 常见的布局管理器: FlowLayout(流式布局管理器)//目前最常用的 从左到右的顺序排列。 Panel默认的布局管理器。 BorderLayout(边界布局管理器) 东,南,西,北,中 Frame默认的布局管理器。 GridLayout(网格布局管理器) 规则的矩阵 CardLayout(卡片布局管理器) 选项卡 GridBagLa...

weixin_30474613的博客 101
上一篇: 类和类之间的关系
下一篇: 浏览器的前世今生
define_us
博客等级 码龄14年 157粉丝 531原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值