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

xml/soap/webservice

开发平台:

Java

  1. /*
  2.  * DataSetBindingDemoPanel.java
  3.  *
  4.  * Created on April 29, 2005, 1:48 PM
  5.  */
  6. package org.jdesktop.demo.binding;
  7. import java.io.Serializable;
  8. import javax.swing.JSlider;
  9. import org.jdesktop.binding.DataModel;
  10. import org.jdesktop.binding.JavaBeanDataModel;
  11. import org.jdesktop.binding.swingx.AbstractBinding;
  12. import org.jdesktop.binding.swingx.TextBinding;
  13. import org.jdesktop.demo.DemoPanel;
  14. /**
  15.  *
  16.  * @author  rbair
  17.  */
  18. public class JavaBeanBindingDemoPanel extends DemoPanel {
  19.     private SimpleBean bean;
  20.     
  21.     /** Creates new form DataSetBindingDemoPanel */
  22.     public JavaBeanBindingDemoPanel() {
  23.         setName("Binding to Java Beans");
  24.         initComponents();
  25.         
  26.         bean = new SimpleBean();
  27.         
  28.         try {
  29.             JavaBeanDataModel dm = new JavaBeanDataModel(bean);
  30.             //now to bind
  31.     //        TabularDataModel tdm = new TabularDataModelAdapter(testDS.getTable("Users"));
  32.     //        new DirectListBinding(hackerList, tdm, "name", new SelectionModelAdapter(testDS.getTable("Users").getSelector("current")));
  33.     //        DataModel model = new DataModelAdapter(testDS.getTable("Users").getSelector("current"));
  34.     //        new LabelBinding(idLBL, model, "id");
  35.             TextBinding binding = new TextBinding(nameTF, dm, "name");
  36.             binding.pull();
  37.     //        new RadioBinding(mfRadioGroup, model, "gender");
  38.     //        new BooleanBinding(developerCHK, model, "developer");
  39.     //        new ComboBoxBinding(langCB, model, "primary_language");
  40.     //        new CustomSliderBinding(skillSlider, model, "skill_level");
  41.     //        new TextBinding(notesTA, model, "notes");
  42.         } catch (Exception e) {
  43.             e.printStackTrace();
  44.         }
  45.     }
  46.     public String getHtmlDescription() {
  47.         return "<html>This demo shows the results of binding various UI " +
  48.                 "components to a JavaBean.";
  49.     }
  50. //    private static void loadTestDataSet(DataSet ds) {
  51. //        DataTable users = ds.getTable("Users");
  52. //        appendUser(users, 100, "John Doe", "Male", true, "English", 4, "Nice guy");
  53. //        appendUser(users, 101, "Jane Doe", "Female", true, "English", 6, "Not related to John Doe, amazingly enough");
  54. //        appendUser(users, 120, "Harry Hacker", "Male", true, "French", 9, "Remarkable fello!");
  55. //        appendUser(users, 300, "Marlaina S. Coder", "Female", true, "German", 8, "Oh boy can she code!");
  56. //    }
  57.     
  58. //    private static DataRow appendUser(DataTable users, int id, String name, 
  59. //            String gender, boolean dev, String lang, int skillz, String notes) {
  60. //        DataRow user = users.appendRowNoEvent();
  61. //        user.setValue("id", id);
  62. //        user.setValue("name", name);
  63. //        user.setValue("gender", gender);
  64. //        user.setValue("developer", dev);
  65. //        user.setValue("primary_language", lang);
  66. //        user.setValue("skill_level", skillz);
  67. //        user.setValue("notes", notes);
  68. //        user.setStatus(DataRow.DataRowStatus.UNCHANGED);
  69. //        return user;
  70. //    }
  71.     
  72.     /** This method is called from within the constructor to
  73.      * initialize the form.
  74.      * WARNING: Do NOT modify this code. The content of this method is
  75.      * always regenerated by the Form Editor.
  76.      */
  77.     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
  78.     private void initComponents() {
  79.         java.awt.GridBagConstraints gridBagConstraints;
  80.         jSplitPane1 = new javax.swing.JSplitPane();
  81.         jScrollPane1 = new javax.swing.JScrollPane();
  82.         hackerList = new javax.swing.JList();
  83.         jPanel1 = new javax.swing.JPanel();
  84.         jLabel1 = new javax.swing.JLabel();
  85.         nameTF = new javax.swing.JTextField();
  86.         jLabel2 = new javax.swing.JLabel();
  87.         idLBL = new javax.swing.JLabel();
  88.         jLabel4 = new javax.swing.JLabel();
  89.         jLabel5 = new javax.swing.JLabel();
  90.         developerCHK = new javax.swing.JCheckBox();
  91.         jLabel6 = new javax.swing.JLabel();
  92.         langCB = new javax.swing.JComboBox();
  93.         jLabel7 = new javax.swing.JLabel();
  94.         skillSlider = new javax.swing.JSlider();
  95.         jLabel8 = new javax.swing.JLabel();
  96.         jScrollPane3 = new javax.swing.JScrollPane();
  97.         notesTA = new javax.swing.JTextArea();
  98.         mfRadioGroup = new org.jdesktop.swingx.JXRadioGroup();
  99.         mfRadioGroup.add("Male");
  100.         mfRadioGroup.add("Female");
  101.         setLayout(new java.awt.BorderLayout());
  102.         jScrollPane1.setViewportView(hackerList);
  103.         jSplitPane1.setLeftComponent(jScrollPane1);
  104.         jPanel1.setLayout(new java.awt.GridBagLayout());
  105.         jLabel1.setText("Bound JLabel:");
  106.         gridBagConstraints = new java.awt.GridBagConstraints();
  107.         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
  108.         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
  109.         gridBagConstraints.insets = new java.awt.Insets(12, 12, 0, 0);
  110.         jPanel1.add(jLabel1, gridBagConstraints);
  111.         nameTF.setText("jTextField1");
  112.         gridBagConstraints = new java.awt.GridBagConstraints();
  113.         gridBagConstraints.gridx = 1;
  114.         gridBagConstraints.gridy = 1;
  115.         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
  116.         gridBagConstraints.weightx = 1.0;
  117.         gridBagConstraints.insets = new java.awt.Insets(7, 5, 0, 11);
  118.         jPanel1.add(nameTF, gridBagConstraints);
  119.         jLabel2.setText("Bound JTextField:");
  120.         gridBagConstraints = new java.awt.GridBagConstraints();
  121.         gridBagConstraints.gridx = 0;
  122.         gridBagConstraints.gridy = 1;
  123.         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
  124.         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
  125.         gridBagConstraints.insets = new java.awt.Insets(7, 12, 0, 0);
  126.         jPanel1.add(jLabel2, gridBagConstraints);
  127.         idLBL.setText("jLabel3");
  128.         gridBagConstraints = new java.awt.GridBagConstraints();
  129.         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
  130.         gridBagConstraints.weightx = 1.0;
  131.         gridBagConstraints.insets = new java.awt.Insets(12, 5, 0, 11);
  132.         jPanel1.add(idLBL, gridBagConstraints);
  133.         jLabel4.setText("Bound JXRadioGroup:");
  134.         gridBagConstraints = new java.awt.GridBagConstraints();
  135.         gridBagConstraints.gridx = 0;
  136.         gridBagConstraints.gridy = 2;
  137.         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
  138.         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
  139.         gridBagConstraints.insets = new java.awt.Insets(7, 12, 0, 0);
  140.         jPanel1.add(jLabel4, gridBagConstraints);
  141.         jLabel5.setText("Bound JCheckBox:");
  142.         gridBagConstraints = new java.awt.GridBagConstraints();
  143.         gridBagConstraints.gridx = 0;
  144.         gridBagConstraints.gridy = 3;
  145.         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
  146.         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
  147.         gridBagConstraints.insets = new java.awt.Insets(7, 12, 0, 0);
  148.         jPanel1.add(jLabel5, gridBagConstraints);
  149.         developerCHK.setText("Developer");
  150.         gridBagConstraints = new java.awt.GridBagConstraints();
  151.         gridBagConstraints.gridx = 1;
  152.         gridBagConstraints.gridy = 3;
  153.         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
  154.         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
  155.         gridBagConstraints.weightx = 1.0;
  156.         gridBagConstraints.insets = new java.awt.Insets(7, 5, 0, 11);
  157.         jPanel1.add(developerCHK, gridBagConstraints);
  158.         jLabel6.setText("Bound JComboBox:");
  159.         gridBagConstraints = new java.awt.GridBagConstraints();
  160.         gridBagConstraints.gridx = 0;
  161.         gridBagConstraints.gridy = 4;
  162.         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
  163.         gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
  164.         gridBagConstraints.insets = new java.awt.Insets(7, 12, 0, 0);
  165.         jPanel1.add(jLabel6, gridBagConstraints);
  166.         langCB.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "English", "French", "German", "Spanish", "Russian" }));
  167.         gridBagConstraints = new java.awt.GridBagConstraints();
  168.         gridBagConstraints.gridx = 1;
  169.         gridBagConstraints.gridy = 4;
  170.         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
  171.         gridBagConstraints.weightx = 1.0;
  172.         gridBagConstraints.insets = new java.awt.Insets(7, 5, 0, 11);
  173.         jPanel1.add(langCB, gridBagConstraints);
  174.         jLabel7.setText("Bound JSlider:");
  175.         gridBagConstraints = new java.awt.GridBagConstraints();
  176.         gridBagConstraints.gridx = 0;
  177.         gridBagConstraints.gridy = 5;
  178.         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
  179.         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
  180.         gridBagConstraints.insets = new java.awt.Insets(7, 12, 0, 0);
  181.         jPanel1.add(jLabel7, gridBagConstraints);
  182.         skillSlider.setMajorTickSpacing(1);
  183.         skillSlider.setMaximum(10);
  184.         skillSlider.setMinorTickSpacing(1);
  185.         skillSlider.setPaintLabels(true);
  186.         skillSlider.setPaintTicks(true);
  187.         skillSlider.setSnapToTicks(true);
  188.         skillSlider.setToolTipText("Select the skill level of the developer, 1 being lowest, 10 being highest");
  189.         gridBagConstraints = new java.awt.GridBagConstraints();
  190.         gridBagConstraints.gridx = 1;
  191.         gridBagConstraints.gridy = 5;
  192.         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
  193.         gridBagConstraints.weightx = 1.0;
  194.         gridBagConstraints.insets = new java.awt.Insets(7, 5, 0, 11);
  195.         jPanel1.add(skillSlider, gridBagConstraints);
  196.         jLabel8.setText("Bound JEditorPane:");
  197.         gridBagConstraints = new java.awt.GridBagConstraints();
  198.         gridBagConstraints.gridx = 0;
  199.         gridBagConstraints.gridy = 6;
  200.         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
  201.         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
  202.         gridBagConstraints.insets = new java.awt.Insets(7, 12, 0, 0);
  203.         jPanel1.add(jLabel8, gridBagConstraints);
  204.         jScrollPane3.setViewportView(notesTA);
  205.         gridBagConstraints = new java.awt.GridBagConstraints();
  206.         gridBagConstraints.gridx = 1;
  207.         gridBagConstraints.gridy = 6;
  208.         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
  209.         gridBagConstraints.weightx = 1.0;
  210.         gridBagConstraints.weighty = 1.0;
  211.         gridBagConstraints.insets = new java.awt.Insets(7, 5, 11, 11);
  212.         jPanel1.add(jScrollPane3, gridBagConstraints);
  213.         gridBagConstraints = new java.awt.GridBagConstraints();
  214.         gridBagConstraints.gridx = 1;
  215.         gridBagConstraints.gridy = 2;
  216.         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
  217.         gridBagConstraints.weightx = 1.0;
  218.         gridBagConstraints.insets = new java.awt.Insets(7, 5, 0, 11);
  219.         jPanel1.add(mfRadioGroup, gridBagConstraints);
  220.         jSplitPane1.setRightComponent(jPanel1);
  221.         add(jSplitPane1, java.awt.BorderLayout.CENTER);
  222.     }
  223.     // </editor-fold>//GEN-END:initComponents
  224.     
  225.     
  226.     // Variables declaration - do not modify//GEN-BEGIN:variables
  227.     private javax.swing.JCheckBox developerCHK;
  228.     private javax.swing.JList hackerList;
  229.     private javax.swing.JLabel idLBL;
  230.     private javax.swing.JLabel jLabel1;
  231.     private javax.swing.JLabel jLabel2;
  232.     private javax.swing.JLabel jLabel4;
  233.     private javax.swing.JLabel jLabel5;
  234.     private javax.swing.JLabel jLabel6;
  235.     private javax.swing.JLabel jLabel7;
  236.     private javax.swing.JLabel jLabel8;
  237.     private javax.swing.JPanel jPanel1;
  238.     private javax.swing.JScrollPane jScrollPane1;
  239.     private javax.swing.JScrollPane jScrollPane3;
  240.     private javax.swing.JSplitPane jSplitPane1;
  241.     private javax.swing.JComboBox langCB;
  242.     private org.jdesktop.swingx.JXRadioGroup mfRadioGroup;
  243.     private javax.swing.JTextField nameTF;
  244.     private javax.swing.JTextArea notesTA;
  245.     private javax.swing.JSlider skillSlider;
  246.     // End of variables declaration//GEN-END:variables
  247.     
  248.     public static final class CustomSliderBinding extends AbstractBinding {
  249.         private JSlider slider;
  250.         
  251.         
  252.         public CustomSliderBinding(JSlider slider, DataModel model, String fieldName) {
  253.             super(slider, model, fieldName, AbstractBinding.AUTO_VALIDATE_NONE);
  254.         }
  255.         
  256.         protected void setComponent(javax.swing.JComponent component) {
  257.             assert component instanceof JSlider;
  258.             slider = (JSlider)component;
  259.         }
  260.         protected void setComponentValue(Object value) {
  261.             if (value instanceof Number) {
  262.                 slider.setValue(((Number)value).intValue());
  263.             }
  264.         }
  265.         protected Object getComponentValue() {
  266.             return slider.getValue();
  267.         }
  268.         public javax.swing.JComponent getComponent() {
  269.             return slider;
  270.         }
  271.         
  272.     }
  273.     
  274.      
  275.     public class SimpleBean implements Serializable {
  276.         private String name = "<name>";
  277.         public SimpleBean(){}
  278.         public String getName(){
  279.             return name;
  280.         }
  281.         public void setName(String name){
  282.             this.name = name;
  283.         }
  284.     }
  285. }