快速业务通道

了解Eclipse中的JFace数据绑定,第1部分: 数据绑定的优缺点 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
vax.swing.*; import java.awt.event.ActionEvent; public class BindingExample {    private JFrame frame;    private FormBean bean;    public BindingExample() {      frame = new JFrame();      bean = new FormBean();      BeanAdapter adapter = new BeanAdapter(bean);      JTextField firstField = BasicComponentFactory.createTextField(        adapter.getValueModel("first"));      JTextField lastField = BasicComponentFactory.createTextField(        adapter.getValueModel("last"));      JTextArea descriptionArea = BasicComponentFactory.createTextArea(        adapter.getValueModel("description"));      DefaultFormBuilder builder =       new DefaultFormBuilder(new FormLayout("r:p, 2dlu, f:p:g"));      builder.append("First:", firstField);      builder.append("Last:", lastField);      builder.appendRelatedComponentsGapRow();      builder.appendRow("p");      builder.add(new JLabel("Description:"),            new CellConstraints(1, 5,             CellConstraints.RIGHT,             CellConstraints.TOP),            new JScrollPane(descriptionArea),            new CellConstraints(3, 5,             CellConstraints.FILL,             CellConstraints.FILL));      builder.nextRow(2);      builder.append(new JButton(new MessageAction()));      frame.add(builder.getPanel());      frame.setSize(300, 300);    }    public JFrame getFrame() {      return frame;    }    public class FormBean {   //Same as above     }    private class MessageAction extends AbstractAction {      public MessageAction() {        super("Message");      }      public void actionPerformed(ActionEvent e) {        JOptionPane.showMessageDialog(null, "First name is " + bean.getFirst());      }    }    public static void main(String[] args) {      BindingExample example = new BindingExample();      example.getFrame().show();    } }

了解Eclipse中的JFace数据绑定,第1部分: 数据绑定的优缺点(3)

时间:2011-02-11 IBM Scott Delap

我会在后面介绍详细的实现方法。现在,请注意那些在与第一个示例对比时所没有的内容:

没必要仅因为要同步而公开对组件的引用。这些引用不会被传播到构建程序范围之外。

未提供任何一种同步方法。

构建程序中没有初始同步过程用于填充组件。

显示对话框之前没有同步操作。

不管所有这些条目现在都已丢失的事实,此示例将完全执行与第一个示例相同的操作。

JGoodies 数据绑定实现细节

介绍整个 JGoodies 数据绑定框架不在本文讨论范围内。但是,看一看 清单 2 所示的示例的实现细节十分有用。下面的两行揭示了所有奥秘:

BeanAdapter adapter = new BeanAdapter(bean); JTextField firstField = BasicComponentFactory.createTextField(adapter.getValueModel("first"));

第一行用于创建一个 JGoodies 对象

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号