文档介绍:窗口外观的管理--类FlowLayout
作者:清华大学:王克宏教授
用类FlowLayout生成的外观管理器是AWT为类Panel所设计的外观管理器。它是我们所使用的默认的外观管理器。"默认的外
观管理器"的意思就是说当我们没有在程序之中使用其他的外观管理器(如CardLayout、等)的时候,Java就自动地使用FlowLayout
外观管理器进行一系列的外观管理工作。(白手起家程序)就是使用的FlowLayout来进行外观管理的。
,FlowLayout外观管理器所做的就是把程序之中的各个组件对象按照先后顺序依次排开,从左到
右,从上到下,依次地排。
又例如:
.*;
{
publicvoidinit(){
resize(150,60);
setLayout(newFlowLayout());//使用FlowLayout外观管理器
add("East",newButton("东边"));
add("West",newButton("西边"));
add("South",newButton("南边"));
add("North",newButton("北边"));
add("Center",newButton("中央"));
}
}
:
实际上,如果我们把程序中的setLayout(newFlowLayout());这条语句去掉,程序的执行结果也是一样的,没有任何区别。这是因为
FlowLayout外观管理器是默认的外观管理器的缘故。有兴趣的人可以自己试一试。如果我们改变语句
resize(150,60);
为:
resize(300,60);
:
,当窗口之中的组件不能排满一排的时候,组件是按
照向中间对齐的原则来排列的。向中间对齐是默认的对齐规则。
对齐方式是可以改变的:
(也就是默认的对齐方式)
我们把上面语句之中的setLayout(newFlowLayout());改为:
setLayout(newFlowLayout());
程序运行结果就会如下所示():
那么,使用了语句setLayout(newFlowLayout());以后,窗口会变成什么样子呢?这个问题留着大家自己编
个程序试一试吧。好吗?
窗口外观的管理--类GridLayout
作者:清华大学:王克宏教授
英文里面Grid有"网格"的意思,GridLayout外观管理器也有这方面的意义。GridLayout外观管理器会把窗口分成许多大小相等
的均匀网格,然后再一个格、一个格地往里放组件。
既然是分成许多格,就有一个怎么分的问题,到底分成多少块、几行几列呢?这些问题都由程序设计者在调用GridLayout的时候来决
定。方法如下:
GridLayout(行数,列数)
.*;
{
publicvoidinit(){
resize(300,100);
setLayout(newGridLayout(2,3));//分为2行3列
add("East",newButton("东边"));
add("West",newButton("西边"));
add("South",newButton("南边"));
add("North",newButton("北边"));
add("Center",newButton("中央"));
}
}
:
如果所设置的网格数目比组件数目少,会怎么样呢?比如上面的程序,如果设置为2行2列,程序的执行结果会是什么样呢?
专家:这个问题问得很好,你可以自己改写一下上面的程序,看一看运行结果是什么样的。多学多练,举一反三是学习的重