三十一、Java图形化界面设计——布局管理器之GridLayout(网格布局)

三十一、Java图形化界面设计——布局管理器之GridLayout(网格布局)网格布局特点:l使容器中的各组件呈M行×N列的网格状分布。l网格每列宽度相同,等于容器的宽度除以网格的列数。l网格每行高度相同,等于容器的高度除以网格的行数。l各组件的排列方式为:从上到下,从左到右。l组件放入容器的次序决定了它在容器中的位置。l容器大小改变时,组件的相对位置不变,大小会改变。l设置网格布局行数和列数时,行数或者列数可以有一个为零。若rows为0,cols为3,则列数固定为3,行数不限,每行只能放3个控件或容器。若cols为0,rows为3,则行数固定为3,列数不限,且每行必定有控件,若组件个数不能整除行数,则除去最后一行外的所有行组件个数为:Math.ceil(组件个数/rows)。Math.ceil(doublex):传回不小于x的最小整数值。比如行数为3,组件数为13个,则Math.ceil(13/3)=5,即第一行,第二行组件数各为5个,剩下的组件放在最后一行。---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---l若组件数超过网格设定的个数,则布局管理器会自动增加网格个数,原则是保持行数不变。构造方法摘要GridLayout():创建具有默认值的网格布局,即每个组件占据一行一列。GridLayout(introws,intcols):创建具有指定行数和列数的网格布局。Rows为行数,cols为列数。GridLayout(introws,intcols,inthgap,intvgap):创建具有指定行数、列数以及组件水平、纵向一定间距的网格布局。方法摘要intgetColumns():获取此布局中的列数。intgetHgap():获取组件之间的水平间距。intgetRows():获取此布局中的行数。---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---intgetVgap():获取组件之间的垂直间距。voidremoveLayoutComponent(Componentcomp):从布局移除指定组件。voidsetColumns(intcols):将此布局中的列数设置为指定值。voidsetHgap(inthgap):将组件之间的水平间距设置为指定值。voidsetRows(introws):将此布局中的行数设置为指定值。voidsetVgap(intvgap):将组件之间的垂直间距设置为指定值。StringtoString():返回此网格布局的值的字符串表示形式。实例一://GridLayoutDemo.javaimportjavax.swing.*;importjava.awt.*;publicclassGridLayoutDemoextendsJFrame{publicGridLayoutDemo(){setLayout(newGridLayout(0,2));//设置为网格布局,未指定行数---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---setFont(newFont("Helvetica",Font.PLAIN,14));getContentPane().add(newJButton("Button1"));getContentPane().add(newJButton("Button2"));getContentPane().add(newJButton("Button3"));getContentPane().add(newJButton("Button4"));getContentPane().add(newJButton("Button5"));}publicstaticvoidmain(Stringargs[]){GridLayoutDemof=newGridLayoutDemo();f.setTitle("GridWindowApplication");f.pack();f.setVisible(true);f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);f.setLocationRelativeTo(null);//让窗体居中显示}---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---}程序结果如下图所示:实例二:布局一个简单的计算器思路:对窗体应用边界布局,在NORTH上放置一个文本框,在CENTER上放置一个面板,面板上放置计算器的相应按钮//GridFrame.Javaimportjava.awt.*;importjavax.swing.*;classGridFrameextendsJFrame{//定义面板,并设置为网格布局,4行4列,组件水平、垂直间距均为3JPanelp=newJPanel(newGridLayout(4,4,3,3));---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---JTextAreat=newJTextArea();//定义文本框//定义字符串数组,为按钮的显示文本赋值//注意字符元素的顺序与循环添加按钮保持一致Stringstr[]={"7","8","9","/","4","5","6","*","1","2","3","-","0",".","=","+"};publicGridFrame(Strings){super(s);//为窗体名称赋值setLayout(newBorderLayout());//定义窗体布局为边界布局JButtonbtn[];//声明按钮数组btn=newJButton[st...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?