控制台程序. 卡片布局管理器会生成一叠组件——一个组件放在另一个组件的上面.添加到容器中的第一个组件在堆栈的顶部,因此是可见的,添加的最后一个组件在堆栈的底部.使用默认的构造函数CardLayout()可以创建CarLayout对象,也可以把水平和垂直间距指定为构造函数的参数. import javax.swing.*; import javax.swing.SwingUtilities; import java.awt.*; import javax.swing.border.EtchedBo…
控制台程序. 网格布局管理器可以在容器的矩形网格中布局组件. import javax.swing.*; import java.awt.*; import javax.swing.border.EtchedBorder; public class TryGridLayout { public static void createWindow(){ JFrame aWindow = new JFrame("This is the Window Title"); Toolkit theK…
控制台程序. 边界布局管理器最多能在容器中放置5个组件.在这种布局管理器中,可以把组件放在容器的任意一个边界上,也可以把组件放在容器的中心.每个位置只能放置一个组件.如果把组件放置在已被占用的边界上,前一个组件就会被取代.要选择边界,应指定约束,约束可以是NORTH.SOUTH.EAST.WEST或CENTER.它们都是BorderLayout类中定义的final static常量. import javax.swing.*; import javax.swing.SwingUtilities;…
对于选项卡这个概念大家可能不会陌生,就是在一个窗口中可以切换显示多页不同的内容,但同一时间只能是其中的某一页可见的,这样的一个个的页面就是选项卡. CardLayout就是类似的这样一个布局管理器,它能够让多个组件共享同一个显示空间,共享空间的组件之间的关系就像重叠在一起的一幅扑克牌,组件重叠在一起,初始时显示该空间中第一个组件,通过CardLayout类提供的方法可以切换该空间中显示的组件. 下面我们来看一个例子,实现CardLayout布局管理器的使用. 创建一个使用CardLayout布局…
控制台程序. java.awt.GridBagLayout管理器比前面介绍的其他布局管理器灵活得多,因此使用起来也比较复杂.基本机制就是在随意的矩形网格中布局组件,但网格的行和列不一定拥有相同的高度和宽度. GridBagLayout中的每个组件都有自己的约束,在把组件添加到容器中之前,这些约束在GridBagConstrains类型的对象中指定,这种对象将关联到每个组件上.每个组件的位置.相对大小以及在网格中占据的区域都由与之关联的GridBagConstrains对象决定. import j…
控制台程序. javax.swing.BoxLayout类定义的布局管理器在单行或单列中布局组件.创建BoxLayout对象时,需要指定是在行还是列中布局组件. 对于行,组件是从左到右地添加:对于列,组件是从上到下地添加.行或列已满时,给定行或列中的组件不会放到下一行或列中.当添加的组件数超出行或列的可用空间时,布局管理器会减小组件的大小,甚至能根据需要剪切组件,使它们都放在单行或单列中.有了一行组件后,方框布局管理器就会尝试使所有的组件高度都相同,或者尝试使一列组件的宽度相同. import…
控制台程序. 可以把JFrame对象aWindow的内容面板的布局管理器设置为javax.swing.SpringLayout管理器. SpringLayout类定义的布局管理器根据javax.swing.Spring对象定义的一组约束,决定容器中每个组件的位置和大小.在使用SpringLayout管理器的容器中,每个组件都有与之关联的SpringLayout.Constrains对象,Constrains对象定义了组件的4条边的位置.在访问组件对象关联的SpringLayout.Constra…
控制台程序. FlowLayout把组件放在容器的连续行中,使每一行都放置尽可能多的组件.如果某行已满,就放在下一行.工作方式类似于文本处理器把单词放在行中.主要用途是放置按钮,但也可以用来放置其他组件.这是JPanel对象的默认布局管理器. 用来放置组建的行的默认定位方式是在容器中居中,默认方式是从左到右.利用FlowLayout类中定义的int常量,可以指定5个行定位选项:LEFT.RIGHT.CENTER.LEADING和TRAILING.CENTER选项是默认的.行中的组件默认有5个单位…
控制台程序. JMenuBar对象表示放在窗口顶部的菜单栏.可以为JMenuBar对象添加JMenu或JMenuItem对象,它们都显示在菜单栏上.JMenu对象是带有标签的菜单,单击就可以显示一列菜单项.JMenuItem对象表示菜单中带有标签的菜单项,单击就会执行某个程序动作. // Main window for the Sketcher application import javax.swing.*; import static java.awt.event.InputEvent.*;…
控制台程序. java.awt包中把SystemColor类定义为Color类的子类.SystemColor类封装了本机操作系统用于显示各种组件的标准颜色.如果要比较SystemColor值和Color对象,就必须使用getRGB()方法.这是因为SystemColor类在内部存储颜色时采用的方式是:使用从Color类继承而来的域,而不是使用正常的Color对象. java.awt.Cursor类的对象封装了鼠标光标的位图表示.Cursor类包含一组final static常量,用来指定标准的光…