java swing布局管理器之overlayout

java swing布局管理器之overlayout

ID:25916149

大小:209.00 KB

页数:8页

时间:2018-11-23

java swing布局管理器之overlayout_第1页
java swing布局管理器之overlayout_第2页
java swing布局管理器之overlayout_第3页
java swing布局管理器之overlayout_第4页
java swing布局管理器之overlayout_第5页
资源描述:

《java swing布局管理器之overlayout》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、OverlayLayout是用于排列重叠组件的布局管理器。它的用途是以一些对齐的点为基准将一些组件层叠的放置在布局容器中。组件的横轴和纵轴的对齐点介于0.0和1.0之间。横轴(X轴)上0.0代表组件的左侧面,1.0代表组件的右侧面;纵轴(Y轴)上0.0和1.0分别代表组件的顶部和底部。构造函数publicOverlayLayout(Containertarget)因为构造函数不会为target对象安装结果布局管理器,所以我们还必须调用setLayout()来完成此功能。JPanel p1 = new JPa

2、nel();OverlayLayout overlay = new OverlayLayout(p1);p1.setLayout(overlay); 在OverlayLayout布局管理器中,每个组件都有一对横纵坐标值,每个组件的位置只和它本身的横纵坐标值有关,换句话说就是组件以他自己的位置作为基准,横轴上0.0和1.0分别代表组件的左侧面和右侧面;纵轴上0.0和1.0分别代表组件的顶部和底部,和容器位置无关。如果一个组件的alignmentX属性设置为0.5,原本左侧面的位置对应0.0,现在变成了0.5,

3、那么,现在组件的位置就要向左移动width/2的距离,使左侧面的位置对应现在的0.0。纵轴亦是如此,明白了吗?为了容易理解,我们来看《JavaSwing》中关于OverlayLayout的一段样例程序,它可以编译运行。如图,你可以在输入框中调节容器中3个按钮的X,Y轴的值来看他们在容器中的位置是怎样改变的,多试几次,你就可以完全理解OverlayLayout。// OverlayTest.java// A test of the OverlayLayout manager allowing experime

4、ntation.//import java.awt.*;import java.awt.event.*;import javax.swing.*;public class OverlayTest extends JFrame {    public OverlayTest() {        super("OverlayLayout Test");        setSize(500, 300);        setDefaultCloseOperation(EXIT_ON_CLOSE);      

5、  final Container c = getContentPane();        c.setLayout(new GridBagLayout());        final JPanel p1 = new GridPanel();        final OverlayLayout overlay = new OverlayLayout(p1);        p1.setLayout(overlay);        final JButton jb1 = new JButton("B1"

6、);        final JButton jb2 = new JButton("B2");        final JButton jb3 = new JButton("B3");        Dimension b1 = new Dimension(60, 50);        Dimension b2 = new Dimension(80, 40);        Dimension b3 = new Dimension(100, 60);        jb1.setMinimumSize

7、(b1);        jb1.setMaximumSize(b1);        jb1.setPreferredSize(b1);        jb2.setMinimumSize(b2);        jb2.setMaximumSize(b2);        jb2.setPreferredSize(b2);        jb3.setMinimumSize(b3);        jb3.setMaximumSize(b3);        jb3.setPreferredSize(b

8、3);        SimpleReporter reporter = new SimpleReporter();        jb1.addActionListener(reporter);        jb2.addActionListener(reporter);        jb3.addActionListener(reporter);        p1.add(jb1);        p1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。