快速业务通道

Merlin的魔力: SpringLayout管理器 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
yPad); contentPane.add(right, constraint);

通过 SpringLayout 使用 putConstraint()

这种方法非常有效,但是如果组件的数量多起来的话,这种方法就显得单调乏味了。相反,另一种回避中间步骤的方法是先不带约束地直接添加组件,然后再分别地添加约束,使用 SpringLayout 的 putConstraint() 方法将约束连接到组件,如清单 3 所示:

清单 3. 用 SpringLayout 添加第二个组件

public void putConstraint(String e1, Component c1, int pad,   String e2, Component c2) public void putConstraint(String e1, Component c1, Spring s,   String e2, Component c2)

Merlin的魔力: SpringLayout管理器(2)

时间:2011-02-02 IBM John Zukowski

这里,您无需请求组件的边并自己加进 padding, putConstraint() 方法调用为您同时处理了这两个任务。为了演示这一点,清单 4 像清单 3 那样向正确的组件添加了同样的约束,不过这里使用的是 putConstraint(), 而不是直接使用 SpringLayout.Constraints :

清单 4. 使用 putConstraint() 添加第二个组件

Component left = ...; Component right = ...; SpringLayout layout = new SpringLayout(); JPanel panel = new JPanel(layout); panel.add(left); panel.add(right); layout.putConstraint(SpringLayout.WEST, left, 5,   SpringLayout.WEST, panel); layout.putConstraint(SpringLayout.NORTH, left, 25,   SpringLayout.NORTH, panel); layout.putConstraint(SpringLayout.NORTH, right, 25,   SpringLayout.NORTH, panel); layout.putConstraint(SpringLayout.WEST, right, 20,   SpringLayout.EAST, left);

putConstraint() 方法中的 String 类型参数是 4 个 SpringLayout 常量 EAST、WEST、NORTH 和 SOUTH。当使用 putConstraint() 时,应首先确信指定了未知组件的位置,并将其连接到某样可以计算的或者固定的东西上,比如屏幕的边界。

用 BeanBuilder 试验 SpringLayout

为了帮助您亲历 SpringLayout 的用法,Sun 提供了一个名为 BeanBuilder 的工具(参阅 参考资料)。当使用 JavaBeans 组件时,该工具还有更多的用处,不过它也为研究 SpringLayout 提供了一种简单的方式。图 1 展示了该工具启动时的样子:

图 1. BeanBuilder 启动屏幕

Merlin的魔力: SpringLayout管理器 - 编程入门网

虽然我们不打算讨论 BeanBuilder 工具的细节,但是关于这个工具有一个地方是要谈到的,那就是使用 SpringLayout 连接组件。在每个组件的各条边上共有 4 个小方框,分别对应 north(北)、south(南)、east(东) 和 west(西)。您可以从一个小方框中拖出一个箭头,将其连接到任何其他的小方框。如果该工具再高级一点,它将允许您指定间隙宽度,但是图 2 显示的是在开发阶段的一个屏幕:

图 2. BeanBuilder 使用屏幕

Merlin的魔力: SpringLayout管理器 - 编程入门网

由图 2 可以说明,您可以可视化地将箭头连接到一个指定的 putConstraint() 调用。

Merlin的魔力: SpringLayout管理器(3)

时间:2011-02-02 IBM John Zukowski

完整的 SpringLayout 实例

为了演示 SpringLayout 的用法,清单 4 给出了 SpringFormTest 程序,该程序将前面解释过的使用 putConstraint() 的代码片断拼接起来。(您也可以下载该代码;参阅 参考资料。)

清单 4. 完整的 SpringLayout 实例

import java.awt.*; import javax.swing.*; public class SpringFormTest {   public static void main(String args[]) {    JFrame frame = new JFrame("Spring Form");    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    Container contentPane = frame.getContentPane();    SpringLayout layout = new SpringLayout();    contentPane.setLayou

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号