代码逻辑与界面布局 (代码逻辑与界面的关系)

代码逻辑与界面布局:构建优秀用户体验的关键要素 代码逻辑与界面布局

一、引言

在现代软件开发中,代码逻辑与界面布局是构成软件产品的两个核心要素。
它们相互关联,共同决定了软件的功能性和用户体验。
代码逻辑是实现软件功能的基础,而界面布局则是用户与软件交互的桥梁。
本文将探讨代码逻辑与界面布局的关系,以及如何优化二者以提供出色的用户体验。

二、代码逻辑的重要性

1. 定义软件功能

代码逻辑是软件开发的基石,它定义了软件应该执行哪些操作以及如何实现这些操作。
良好的代码逻辑应具备清晰、简洁、易于理解和维护的特点,以确保软件功能的正确实现。

2. 保证软件稳定性

在复杂的软件系统中,代码逻辑的稳定性和可靠性至关重要。
优质的代码逻辑可以有效地预防软件错误、崩溃和漏洞,从而提高软件的稳定性和安全性。

3. 提升开发效率

良好的代码逻辑有助于提高开发过程中的效率。
易于理解和维护的代码有助于开发人员快速定位问题、进行调试和修改,从而缩短开发周期。

三、界面布局的作用

1. 用户体验

界面布局是用户与软件交互的第一道门槛,优秀的界面布局应该简洁明了、易于操作,提供良好的用户体验。
良好的界面布局有助于提高用户的满意度和忠诚度。

2. 信息传达

界面布局应有效地传达软件的功能和信息。
合理的布局和视觉设计有助于用户快速了解软件的使用方法,减少用户的学习成本。

3. 适配不同设备和屏幕尺寸

随着移动设备的发展,软件需要适应不同设备和屏幕尺寸。
优秀的界面布局应具备良好的响应式设计,以确保在各种设备上都能提供一致的用户体验。

四、代码逻辑与界面布局的关系

1. 紧密关联

代码逻辑与界面布局是紧密关联的。
界面布局的设计取决于软件的功能需求,而功能需求又需要通过代码逻辑来实现。
因此,在软件开发过程中,代码逻辑与界面布局应相互协调,以确保软件的顺利开发。

2. 相互影响

代码逻辑和界面布局在软件开发过程中相互影响。
代码逻辑的变更可能导致界面布局的调整,而界面布局的优化也可能需要调整代码逻辑来支持新的交互方式。
因此,开发人员需要在这两者之间取得平衡,以确保软件的顺利迭代和优化。

五、如何优化代码逻辑与界面布局以提供出色的用户体验

1. 遵循设计原则

在开发过程中,应遵循简洁、直观、易于操作的设计原则。
对于代码逻辑,要追求清晰、简洁、可靠;对于界面布局,要追求简洁明了、易于导航。

2. 用户为中心

在设计和开发过程中,始终以用户需求为导向,关注用户痛点和需求。
通过用户反馈和测试来优化代码逻辑和界面布局,以提高用户满意度。

3. 响应式设计

随着移动设备的发展,软件需要适应不同设备和屏幕尺寸。
因此,在设计和开发过程中,应注重响应式设计,确保软件在不同设备上都能提供一致的用户体验。

4. 团队协作

在开发过程中,开发人员与设计人员需要紧密协作。
开发人员需要了解设计人员的意图和需求,以便实现相应的代码逻辑;设计人员也需要了解开发进度和限制,以便调整设计方案。
通过团队协作,可以确保代码逻辑与界面布局的协调和优化。

六、结论

代码逻辑与界面布局是软件开发中的两个核心要素。
它们相互关联、相互影响,共同决定了软件的功能性和用户体验。
在开发过程中,应遵循设计原则、以用户为中心、注重响应式设计和团队协作,以优化代码逻辑与界面布局,提供出色的用户体验。


前端和后端的区别是什么?

区别:

(1)含义不同

前端即网站前台部分,运行在PC端,移动端等浏览器上展现给用户浏览的网页,指的是用户可见的界面,网站前端页面也就是网页的页面开发,比如网页上的特效、布局、图片、视频,音频等内容。

后端,也叫后台,指网站后台,有时也称为网站管理后台,是指用于管理网站前台的一系列操作,如:产品、企业信息的增加、更新、删除等。

(2)工作内容不同

前端的工作内容就是将美工设计的效果图的设计成浏览器可以运行的网页,并配合后端做网页的数据显示和交互等可视方面的工作内容。

后端是指用户看不见的东西,通常是与前端工程师进行数据交互及网站数据的保存和读取,相对来说后端涉及到的逻辑代码比前端要多的多,后端考虑的是底层业务逻辑的实现,平台的稳定性与性能等。

(3)所用的技术不同

前端开发用到的技术包括但不限于html5、css3、javascript、jquery、Bootstrap、 、Webpack,AngularJs,ReactJs,VueJs等技术。

后端开发 以java为例 主要用到的 是包括但不限于Struts spring springmvc Hibernate Http协议 Servlet Tomcat服务器等技术。

(4)感受不同

后端:入门难,深入更难,枯燥乏味,没有太大成就感,看一堆业务逻辑代码。

前端:入门简单,先易后难,能看到自己做出来的展示界面,有成就感。

扩展资料

前端技术一般分为前端设计和前端开发,前端设计一般可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括基本的HTML和CSS以及JavaScript/ajax,最新的高级版本HTML5、CSS3,以及SVG等。

HTML、CSS、JavaScript这三个是前端开发中最基本也是最必须的三个技能。 前端的开发中,在页面的布局时, HTML将元素进行定义,CSS对展示的元素进行定位,再通过JavaScript实现相应的效果和交互。

虽然表面看起来很简单,但这里面需要掌握的东西绝对不会少。 在进行开发前,需要对这些概念弄清楚、弄明白,这样在开发的过程中才会得心应手。

网络百科-前端

网络百科-后台

前端和后端的区别

前端和后端的区别

1、语言不同:前端的代码主要在客户端运行;后端的代码主要在服务端运行。

2、思考的方向是与用户交互不同:前段主要是考虑怎样能让用户觉得用起来更舒服,考虑界面布局、交互效果、页面加载速度等等,主要是偏向用户看得见的部分:后端更多是考虑业务逻辑、数据库表结构设计、服务器配置、负载均衡、数据的存储、跨平台API设计等等,更多的是考虑用户看不到的部分,保证业务逻辑处理数据的严谨,保证数据吞吐的性能

3、稳定性不同:前端主要怕设计稿的频繁变更,布局样式、交互效果的需求变更;后端主要怕业务逻辑变更,或者当使用规模增大之后的稳定性

前端开发是什么

前端即网站前台部分,运行在PC端,移动端等浏览器上展现给用户浏览的网页。 随着互联网技术的发展,HTML5,CSS3,前端框架的应用,跨平台响应式网页设计能够适应各种屏幕分辨率,完美的动效设计,给用户带来极高的用户体验。

后端开发是什么

后端指的是运行在后台并且控制着前端的内容,它主要负责程序设计架构思想,管理数据库等。 后端更多的是应用到数据库并且进行交互以处理相应的业务逻辑。 它需要考虑的是如何实现功能、数据的存取、平台的稳定性与性能等方面。 它涉及到的动态语言如PHP、ASP、JSP等。

简述java程序设计中界面设计中的三种布局方式

1 边框布局JPanel panel1=(JPanel)getContentPane();(new FlowLayout());凭着我们现在所积累的阅读程序的功夫,应该能够很快地知道我们通过第一条语句创建了一个容器JPanel类的panel1。 而接下来,我们则调用了(new FlowLayout()),在上一章中,我们一直没有对它进行相应的分析。 现在该是揭开它的面纱的时候了。 单词layout的中文意思是“布局”、“布置”,setLayout就是设置布局格式。 也就是说,容器panel1的方法setLayout是用来设置布局格式的。 那么,我们一直用的是什么模式呢?对,就是后面括号里的FlowLayout()。 顾名思义,也就是流布局方式。 这是一种顺其自然的方式:从左到右,一个个对象地摆放,摆不下,就摆到下一行。 所以,我们就无法去控制它。 从本章开始,我们就要学习一种控制布局的方法。 在Java语言中,提供了各种布局管理器,以便大家能够达到这一目的。 通常我们最常使用的布局管理器是:Border Layout(边框布局管理器),如下图所示,边框布局管理器将一个屏幕分成了五个部分:东、南、西、北、中。 如果要使用这种边框布局管理进行布局控制,我们必须先将“容器”设置为“边框布局控制模式”,具体来说,就是当调用setLayout方法为容器设置布局控制模式时,参数设置为BorderLayout。 例如:JPanel panel1=(JPanel)getContentPane();(new BorderLayout());然后,我们就可以在使用容器的add方法添加部件时,附加上位置参数,使得该部件显示在指定的位置上。 位置参数分别是 位置为北 位置为南 位置为东 位置为西 位置为中心实例说明下面,我们就来试一试,使用按钮排出五个方向!请创建一个,输入以下源程序:源程序 .*;import .*;import ;public class testBorder extends JApplet{public void init(){ JPanel panel1=(JPanel)getContentPane();(new BorderLayout());JButton north=new JButton(North);JButton south=new JButton(South);JButton east=new JButton(East);JButton west=new JButton(West);JButton center=new JButton(Center);(north,);(south,);(east,);(west,);(center,);}}然后,我们使用javac编译这个程序,然后编辑一个显示这个Java Applet的HTML页面。 最后调用appletviewer来观察这个页面为了试一下,如果并没有在每个位置都安排一个部件,那么会怎么样呢?我们修改一下程序,将(west,);这一行注释掉(就是在前面加上“//”号),也就是不显示西边的按钮,看一下结果如何。 正如上图(图10-3)所示,西边由于没有部件,因此“中”就朝西靠,“占领”了它的位置。 而如果我们修改一下程序,让中间的按钮不显示的话,就会出现如图10-5的样子,中间的区域并未并占领,而是空在那里了!这是与其它位置不同的地方,大家一定要记住。 一些提示:其实这很好理解,如果中间的那一块的位置被其它位置上的部件占领的话,就会使得分不清“东”、“南”、“西”、“北”了。 倒成了“左上角”、“左下角”、“右上角”、“右下角”了。 2 网格布局实例说明下面,我们来看一个新的程序!首先创建一个文件,并输入以下源程序:源程序 .*;import .*;import ;public class testGrid extends JApplet{String buttonLabels[]={No.1,No.2,No.3,No.4,No.5,No.6,No.7,No.8,No.9};public void init(){ JPanel panel1=(JPanel)getContentPane();(new GridLayout(3,3));for (int x=0; (new JButton(buttonLabels[x]));}}然后,我们使用javac编译这个程序,然后编辑一个显示这个Java Applet的HTML页面。 最后调用appletviewer来观察这个页面我们主要是关心如何摆放各个部件,而不是如何构建一个程序。 所以,正如本例中的按钮一下,这一章中的所有部件都是一个样子,没有任何作用。 这样也使得程序尽可能地变短了,更易于大家阅读和理解程序。 下面,我们就一起来看一下上面的这个程序。 1) String buttonLabels[]={No.1,No.2,No.3,No.4,No.5,No.6,No.7,No.8,No.9}我想大家都能很轻松地读懂这条语句,我们在此定义了一个字符串数组buttonLabels,它有9个字符串成员,也就是我们后面定义的9个按钮的标签文本。 值得注意的是,大家一定要知道,buttonLabels[1]表示哪个字符串!如果您的答案是“No.1”的话,就错了!正确的答案是“No.2”,这是因为在数组中索引值是从0开始的,也就是说如果要使用“No.1”的话,应该使用buttonLabels[0]。 这对更好地理解后面的程序十分重要,也是基本功之一。 2) JPanel panel1=(JPanel)getContentPane();(new GridLayout(3,3));在这两行程序中,我们首先定义了一个容器部件panel1。 然后调用setLayout方法设置布局管理器。 这里我们使用了一个新的布局管理器:GridLayout,网格布局管理器。 我们注意到GridLayout的后面带了两个参数:3,3。 这有什么用呢?我们一起来看一下GridLayout方法的定义:public GridLayout (int rows,int cols)我们看一下这两个参数,首先它们都是int型—整型的。 那么它们分别起到什么作用呢?我们还是采用顾名思义法吧!row的中文意思是行,col的中文意思是列,后面加上一个s,是这两个单词的复数形式。 好,我们现在串起来想一下,我们定义了一个网格布局,然后定了它的行、列数!这不就画出了这个网格了吗?如果我们在语句是使用GridLayout(5,5)的话,就会把整个容器分成25个单元而我们在程序中使用的是GridLayout(3,3),所以它就将整个容器分成了注意:这种划分是一种逻辑上的,暗藏式的划分,而不会把格子给划出来。 另外,我们这里举的两个例子行、列都相等,其实完全可以不等。 3) for (int x=0; (new JButton(buttonLabels[x]));这是一个循环结构的程序。 我们先看循环语句,循环的初值是“x=0”,继续执行循环的条件语句是“就是用来请得字符串数组buttonLabels的长度!也就是这个字符串数组中有多少个字符串?我们知道,我们在该数组中定义了9个。 从程序中,我们可以获知,当x=时,循环就将结束,应为它不满足条件x别忘了,我们使用buttonLabels[0]表示第一个字符串,buttonLabels[1]表示第二个字符串……,那么最后一个字符串就应该是buttonLabels[-1]嘛。 在循环中,我们使用容器提供的add方法,将新定义的按钮部件添加进去。 有时,我们可能想获得象下图所示的布局效果!让各个部件之间存在一些间隙。 使用Java的网格布局可以实现吗?我很高兴地回答你:“可以!”,我们可以使用GridLayout的另一种构造器方法(签名不同)来实现:public GridLayout (int rows,int cols,int hgap,int vgap)在这个方法中,可以带上四个整型参数,前两个我们已经很熟悉了,行数与列数。 后面则是两个新的参数。 第一个是hgap,其中gap的意思是间隙、空隙的意思,而h则是horizontal(水平)的第一个字母。 也就是说,我们可以通过hgap参数设置横向的间隙。 第二个是vgap,v则是vertical(垂直)的第一个字母。 也就是说,我们可以通过vgap参数设置纵向的间隙。 自测练习1)_________________是网格布局管理器。 利用以下代码回答问题2、3、4、5:2)这个布局中有__________行?a.7行 b.5行 c.6行 d.8行3)这个布局中有__________列?a.7行 b.5行 c.6行 d.8行4)这个布局将容器分为_________个部分?a.48个 b.35个 c.30个 d.40个5)第5个部件位于__________位置。 a.左上角 b.左下角 c.右上角 d.右下角 e.中间6)根据以下界面,编写一个程序图10-12 练习题图____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________7) 如果我们构建一个5*5的网格布局,但只在该容器中加入17个按钮,将会出现什么情况?请编写一个程序,来试一试效果。 ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________练习答案1)b 没什么好解释的,请大家记住!2)a 第一个参数是行数,因此是7行。 3)b 第二个参数是列数,因此为5列。 4)b 7行5列,其7*5,35个部分嘛。 5)c 第5个部件是第一行的最后一个,当然在右上角嘛。 6)下面是一个实现的程序实例:源程序:lianxi10_ .*;import .*;import ;public class lianxi10_2 extends JApplet{String buttonLabels[]={1,2,3,4,5,6,7,8,9,*,0,#};public void init(){ JPanel panel1=(JPanel)getContentPane();(new GridLayout(4,3,10,10));for (int x=0; (new JButton(buttonLabels[x]));}}7)下面是一个实现的程序实例:源程序:lianxi10_ .*;import .*;import ;public class lianxi10_3 extends JApplet{String buttonLabels[]={No.1,No.2,No.3,No.4,No.5,No.6,No.7,No.8,No.9,No.10,No.11,No.12,No.13,No.14,No.15,No.16,No.17};public void init(){ JPanel panel1=(JPanel)getContentPane();(new GridLayout(5,5));for (int x=0; (new JButton(buttonLabels[x]));}}这个程序使用javac编译完后,编写一个包含这个类的HTML页面,再用appletviewer来观察发现运行结果如下图所示:图10-13 练习答案图这个输出是不是令你感到十分意外,整个程序根本不按要求分成5列,所以我们从这里得到一个使用网格布局中要十二分注意的一点:“请别忘了将网格填满”。 否则程序的输出将不可预料。 一些提示:如果你真的没有那么多东西来“占领”网格的话,我建议你使用一个空标签来填补这个空白的网格,使得程序的输出如你所愿。 使用空标签的方法很容易(new Label(“”));从这里,我们也看出了,我们学习过的流布局管理器、边框布局管理器,以及我们刚学习过的网格布局管理器都比较死板,不够高级。 10.3 组合布局传授新知正如我们在上一小节结束的时候说的一样,各种布局管理器都有自己的缺点,没有一种能够真正地完全满足我们编写GUI程序时的要求。 而在Java语言中,允许在容器中加入其他容器,这样每个容器可以根据自己的需要采用不同的布局管理器,组合成为一个我们所需要的GUI程序界面。 这种方法,我们就称之为组合布局。 注意:与流布局、边框布局、网格布局不同,组合布局并不是一个新的布局管理器,它是通过结合各种布局管理器的优点,将它们组合地应用在GUI程序界面的开发中。 这是一种布局管理的方法。 也可以说是一种GUI程序界面的开发技巧。 当我们设计GUI程序界面时,最好先在纸上把它画出来,然后“分块解决”。 也就是将能够组合在一起的部件找出来,将它们放在一个容器里,并为它们选择合适的布局管理器。 然后把这些容器摆放在一起,就解决了。 设计时还要考虑到窗体大小发生改变的时候,引起的部件形体变化。 这方面,请你熟记几个设计技巧:1) 对于那些要求扁平状的部件,我们应该将它放置在边框布局中的南面或北面;2) 对于那些要求细高状的部件,我们应该将它放置在边框布局中的东面或西面;3) 对于那些可以随着窗体改变大小部分,我们可以将它放置在边框布局的中间;4) 如果我们要求部件保持大小相同,那么,我们就应该采用网格布局。 下面,我们就通过几个实际的例子,来让大家领会和掌握这种设计的思路与方法。 实例说明我们首先创建一个文件,然后输入以下源程序:源程序 .*;import .*;import ;public class testCombination1 extends JApplet{public void init(){Frame frame1=new Frame(testCombination1);(new BorderLayout());TextArea text1=new TextArea();(text1,);JPanel panel1=(JPanel)getContentPane();(new GridLayout(1,3,10,5));(new JButton(A));(new JButton(B));(new JButton(C));(panel1,);();();}}然后,我们使用javac编译这个程序,然后编辑一个显示这个Java Applet的HTML页面。 最后调用appletviewer来观察这个页面,如下图所示:图10-14 程序的输出正如上图所示,程序的输出与以前不同,各个部件不是显示在Appletviewer程序框中,而是显示在另一个窗口中。 这是怎么回事呢?下面我们就一起来看一下这个程序!传授新知在以前的程序中,我们一直都是使用容器JPanel,面板。 而我们在这个程序中引进了一个新的容器Frame。 使用了这个容器后,就会新创建一个窗口。 这也就是为什么程序的输出有这么大的变化的原因。 1)Frame frame1=new Frame(testCombination);这条语句,定义了一个Frame容器frame1,然后使用new操作符调用构造器方法,后面带的参数“testCombination”则是这个Frame的标题。 一些提示:其实大家能Frame所体现出来的效果是很熟悉的,它等价于Windows中的窗体。 而Frame的标题就是窗体的标题。 2) (new BorderLayout());与JPanel容器一样,我们可以调用setLayout方法来设置Frame的布局管理器。 在这里,我们将Frame容器frame1的布局管理器设置成为边框布局管理器(也就是我们在10.1小节中学习过的布局管理器)。 3) (text1,);紧接着,我们调用frame1的add方法,将文本区部件text1添加到frame1容器中来。 注意我们设置了它的位置。 这是因为,我们希望这个文本区能够随着窗体的大小变化而变化。 所以适合将其放在在中间位置。 4) (new GridLayout(1,3,10,5));我们又定义了一个JPanel容器panel1,并将其的布局管理器设置为网格布局管理器。 并通过指定参数,使得整个panel1被分成1行3列,水平空隙为10的网格。 5) (panel1,);这是组合布局方法最重要的一步,我们将panel1这个容器,加入到了frame1这个容器中去了。 并且指定了panel1这个容器在整个frame1中所占的位置,也就是下边。 这样,panel1中包含的三个按钮就会永远(不管窗体大小如何改变)呆在文本区的下边,而且三个按钮的大小会根据窗体大小的改变而改变。 一些提示:这是因为,panel1中的按钮是用网格布局的。 6) ();();与JPanel不一样,使用Frame容器,不能够直接显示了出来。 我们必须调用Frame容器的show方法才能使得Frame显示出来。 而在使用show方法之前,我们还需要使用pack方法将Frame中的内容做一个整合。 请记住这里的使用方法。 4 GridBag布局实例说明到现在为止,我们已经学习了边框布局、网格布局以及组合布局,现在大家试一试编写一个程序,怎么样,挺有难度的吧!完成这个GUI得花很多心思去设计组合,十分讨厌,下面我们就使用一个新的布局管理器GridBagLayout来解决这种难题。 首先,输入以下源程序:源程序 .*;import .*;import ;public class testGridBag extends JApplet{public void init(){ JPanel panel1=(JPanel)getContentPane();(new GridBagLayout());GridBagConstraints gbdc=new GridBagConstraints();=;=1;=1;(new JButton(No.1),gbdc);(new JButton(No.2),gbdc);(new JButton(No.3),gbdc);=2;=0;(new JButton(No.4),gbdc);=2;=1;=2;(new JButton(No.5),gbdc);=0;=1;(new JButton(No.6),gbdc);=1;(new JButton(No.7),gbdc);=0;=2;(new JButton(No.8),gbdc);=2;=1;(new JButton(No.9),gbdc);}}在这个程序中,我们使用了GridBagLayout轻松地完成了这个界面的设计,允分凸现出它的强大。 可以这么说,GridBagLayout是Java语言中最强大的布局管理器。 GridBagLayout,从名字上看,就知道它与GridLayout有一定的渊源,是的,GridBagLayout的确与其十分类似,也是使用网格来进行布局管理的。 但与GridLayout(网格布局)不同的是,GridBagLayout不像网格布局一相,需要所有的部件的大小、形状相同。 而且还可以将某一个部件放在一个固定的位置上。 下面,我们一起来分析一下程序。 1) (new GridBagLayout());在调用setLayout方法时,指定为GridBagLaoyout,使panel1使用GridBag布局管理。 2) GridBagConstraints gbdc=new GridBagConstraints();GridBagLayout布局管理器是通过一个GridBagConstraints类来实现神奇的效果的。 所以,我们要在使用时先定义一个GridBagConstraints类的对象。 在这个程序中,我们定义了一个GridBagConstraints类的对象gbdc。 3) =;由于网格单元可能比该单元中的部件大,如果是这样,部件放置在单元格内会有一些多余空间。 在默认情况下,部件不会扩张,也就是不会填充这个多余空间。 GridBagConstraints提供了一个fill属性,我们可以通过设置它的值来起到不同的效果。 ¨ :不扩张,是默认值;¨ :部件水平扩张,将水平方向的多余空间填满;¨ :部件垂直扩张,将垂直方向的多余空间填满;¨ :部件同时向两个方向扩张,将单元格填满。 4) =1;=1;weightx和weighty是GridBagConstraints提供的另一对属性。 它的取值是整型数,默认值为0。 用来设置行(weightx)、列(weighty)的“重量”,如果值为0的话,所有的部件都会紧收在一起,聚集在中央,如图10-17所示。 而如果取值为其它数字,则会根据值来分配空间。 5) (new JButton(No.1),gbdc);(new JButton(No.2),gbdc);(new JButton(No.3),gbdc);在没有任何约束的时候,向gbdc中添加按钮,这时效果与采用网格布局的效果完全一样。 一个接着一个地“占领”单元格。 6) =2;=0;(new JButton(No.4),gbdc);由于第四个按钮(No.4)是宽度是2,在GridBagLayout中,是由gridwidth属性来控制添加进入的部件的宽度的。 我们通过=2将其设置为2,这样,再添加进入的部件就会变成为2个单元格的宽度。 另外,我们再使用=0让其另起一行,从最左边的单元格开始填充。 因此,我们发现第四个按钮被加在了第二行,宽度为2个单元格。 7) =2;=1;=2;(new JButton(No.5),gbdc);接下来,我们要摆放第五个按钮,这个按钮将从第3个单元开始填充,其宽度为一个单元格,而高度则为两个单元格。 因此,我们首先使用用=2,使得下一个添加的部件(第五个按钮)放入第3个单元格(0代表第1个单元格,因此第3个单元格应该是2)。 由于,前面我们已经将gridwidth设置为2了,因此,我们需要使用=1,将其值设置回1。 最后使用=2,使得添入的部件的单元格纵向跨越两个单元格。 8) =0;=1;(new JButton(No.6),gbdc);我想这一段程序,大家应该都不会再有什么理解上的问题了吧!主要提醒大家注意的是,我们使用=1将单元格纵向跨度改成了默认值1。 这是因为我们在前面需要时将其改成了2,所以在此需要将其改回来。 实例说明为了更好地理解这个强大的GridBagLayout布局管理器,我们再来做一个有趣的实验。 首先,我们创建一个源程序 .*;import .*;import ;public class testGridBag2 extends JApplet{public void init(){ JPanel panel1=(JPanel)getContentPane();(new GridBagLayout());GridBagConstraints gbdc=new GridBagConstraints();(new JButton(No.1),gbdc);(new JButton(No.2),gbdc);setSize(300,200);}}然后我们使用鼠标改变一下窗口的大小,看一下,这两个按钮有什么变化?你会惊奇地发现,窗口改变了大小,两个按钮的大小却没有变,而且一直呆在正中央的位置。 一些说明:在这个程序中,我们使用了一个以前没有用过的语句:setsize(300.200),它的功能是在程序中设置窗口的大小。 现在我们对这个程序做一些修改!将添加两个按钮的两条语句(new JButton(No.1),gbdc);(new JButton(No.2),gbdc);将它们扩展为=1;(new JButton(No.1),gbdc);=3;(new JButton(No.2),gbdc);为什么会得到这个效果呢?我们在程序中添加按钮的程序段前加入一句=;再重新编译一下程序,再看看程序的输出有什么变化!在得到结果之前,自己可以想象一下结果,然后看一下程序的实际输出与你的想法是否相吻合。 我们惊奇地发现,第二个按钮,突然变得十分宽起来(如图10-20所示)。 这是因为放置第二个按钮的单元格的宽度是3,而第一个按钮的宽度是1。 而且,我们又让第二个按钮横向扩展,因此得到了这样的输出结果。 相信实验做到这里,不须我说,大家也会有一些心得体会了。 但是GridBagLayout远不止这一点,大家应该多做试验,才能够在真实的使用环境中有效地掌握GridBagLayout。

本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!

相关阅读

添加新评论