BindingDemo.java
上传用户:zhengdagz
上传日期:2014-03-06
资源大小:1956k
文件大小:6k
源码类别:

xml/soap/webservice

开发平台:

Java

  1. /*
  2.  * $Id: BindingDemo.java,v 1.3 2005/06/06 14:25:36 rbair Exp $
  3.  *
  4.  * Copyright 2004 Sun Microsystems, Inc., 4150 Network Circle,
  5.  * Santa Clara, California 95054, U.S.A. All rights reserved.
  6.  */
  7. package org.jdesktop.demo.binding;
  8. import java.io.File;
  9. import java.util.ArrayList;
  10. import java.util.List;
  11. import javax.swing.AbstractListModel;
  12. import javax.swing.JMenuBar;
  13. import org.jdesktop.demo.DemoPanel;
  14. import org.jdesktop.demo.MainWindow;
  15. import org.jdesktop.swingx.JXPanel;
  16. /**
  17.  * Demonstrates various ways of binding UI components to underlying data
  18.  *
  19.  * @author  rbair
  20.  */
  21. public class BindingDemo extends DemoPanel {
  22.     /** A List of each demonstration--all of which are DemoPanel
  23.      * instances. */
  24.     private List<DemoPanel> demoPanels = new ArrayList<DemoPanel>();
  25.     
  26.     /**
  27.      * Creates new form BindingDemo 
  28.      */
  29.     public BindingDemo() {
  30.         demoPanels.add(new DataSetBindingDemoPanel());
  31.         demoPanels.add(new JavaBeanBindingDemoPanel());
  32.         initComponents();
  33.     }
  34.     
  35.     /** This method is called from within the constructor to
  36.      * initialize the form.
  37.      * WARNING: Do NOT modify this code. The content of this method is
  38.      * always regenerated by the Form Editor.
  39.      */
  40.     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
  41.     private void initComponents() {
  42.         java.awt.GridBagConstraints gridBagConstraints;
  43.         jSplitPane1 = new javax.swing.JSplitPane();
  44.         jSplitPane2 = new javax.swing.JSplitPane();
  45.         jXTitledPanel1 = new org.jdesktop.swingx.JXTitledPanel();
  46.         jScrollPane2 = new javax.swing.JScrollPane();
  47.         descriptionPane = new javax.swing.JEditorPane();
  48.         demoContainer = new org.jdesktop.swingx.JXTitledPanel();
  49.         jXTitledPanel3 = new org.jdesktop.swingx.JXTitledPanel();
  50.         jScrollPane1 = new javax.swing.JScrollPane();
  51.         demoList = new javax.swing.JList();
  52.         setLayout(new java.awt.GridBagLayout());
  53.         jSplitPane1.setBorder(null);
  54.         jSplitPane1.setDividerLocation(200);
  55.         jSplitPane2.setBorder(null);
  56.         jSplitPane2.setDividerLocation(140);
  57.         jSplitPane2.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);
  58.         jXTitledPanel1.getContentContainer().setLayout(new java.awt.BorderLayout());
  59.         jXTitledPanel1.setTitle("Information");
  60.         jScrollPane2.setBorder(null);
  61.         descriptionPane.setEditable(false);
  62.         descriptionPane.setContentType("text/html");
  63.         jScrollPane2.setViewportView(descriptionPane);
  64.         jXTitledPanel1.getContentContainer().add(jScrollPane2, java.awt.BorderLayout.CENTER);
  65.         jSplitPane2.setLeftComponent(jXTitledPanel1);
  66.         demoContainer.getContentContainer().setLayout(new java.awt.CardLayout());
  67.         demoContainer.setTitle("Demo");
  68.         jSplitPane2.setRightComponent(demoContainer);
  69.         jSplitPane1.setRightComponent(jSplitPane2);
  70.         jXTitledPanel3.getContentContainer().setLayout(new java.awt.BorderLayout());
  71.         jXTitledPanel3.setTitle("Table of Contents");
  72.         jScrollPane1.setBorder(null);
  73.         demoList.setModel(new AbstractListModel() {
  74.             public Object getElementAt(int index) {
  75.                 return demoPanels.get(index).getName();
  76.             }
  77.             public int getSize() {
  78.                 return demoPanels.size();
  79.             }
  80.         });
  81.         demoList.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
  82.         demoList.addListSelectionListener(new javax.swing.event.ListSelectionListener() {
  83.             public void valueChanged(javax.swing.event.ListSelectionEvent evt) {
  84.                 demoListValueChanged(evt);
  85.             }
  86.         });
  87.         jScrollPane1.setViewportView(demoList);
  88.         jXTitledPanel3.getContentContainer().add(jScrollPane1, java.awt.BorderLayout.CENTER);
  89.         jSplitPane1.setLeftComponent(jXTitledPanel3);
  90.         gridBagConstraints = new java.awt.GridBagConstraints();
  91.         gridBagConstraints.gridx = 0;
  92.         gridBagConstraints.gridy = 0;
  93.         gridBagConstraints.gridwidth = 2;
  94.         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
  95.         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
  96.         gridBagConstraints.weightx = 1.0;
  97.         gridBagConstraints.weighty = 1.0;
  98.         gridBagConstraints.insets = new java.awt.Insets(12, 12, 17, 11);
  99.         add(jSplitPane1, gridBagConstraints);
  100.     }
  101.     // </editor-fold>//GEN-END:initComponents
  102.     private void demoListValueChanged(javax.swing.event.ListSelectionEvent evt) {//GEN-FIRST:event_demoListValueChanged
  103.         DemoPanel dp = demoPanels.get(demoList.getSelectedIndex());
  104.         descriptionPane.setText(dp.getHtmlDescription());
  105.         demoContainer.setContentContainer(dp.getContent());
  106.         demoContainer.revalidate();
  107.         demoContainer.repaint();
  108.     }//GEN-LAST:event_demoListValueChanged
  109.     
  110.     /**
  111.      * @param args the command line arguments
  112.      */
  113.     public static void main(String args[]) {
  114.         MainWindow.main(new String[]{"-d", "org.jdesktop.demo.binding.BindingDemo"});
  115.     }
  116.     
  117.     // Variables declaration - do not modify//GEN-BEGIN:variables
  118.     private org.jdesktop.swingx.JXTitledPanel demoContainer;
  119.     private javax.swing.JList demoList;
  120.     private javax.swing.JEditorPane descriptionPane;
  121.     private javax.swing.JScrollPane jScrollPane1;
  122.     private javax.swing.JScrollPane jScrollPane2;
  123.     private javax.swing.JSplitPane jSplitPane1;
  124.     private javax.swing.JSplitPane jSplitPane2;
  125.     private org.jdesktop.swingx.JXTitledPanel jXTitledPanel1;
  126.     private org.jdesktop.swingx.JXTitledPanel jXTitledPanel3;
  127.     // End of variables declaration//GEN-END:variables
  128. }