DataSetBindingDemoPanel.java
资源名称:swingx.zip [点击查看]
上传用户:zhengdagz
上传日期:2014-03-06
资源大小:1956k
文件大小:14k
源码类别:
xml/soap/webservice
开发平台:
Java
- /*
- * DataSetBindingDemoPanel.java
- *
- * Created on April 29, 2005, 1:48 PM
- */
- package org.jdesktop.demo.binding;
- import javax.swing.JSlider;
- import org.jdesktop.binding.DataModel;
- import org.jdesktop.binding.TabularDataModel;
- import org.jdesktop.binding.swingx.AbstractBinding;
- import org.jdesktop.binding.swingx.BooleanBinding;
- import org.jdesktop.binding.swingx.ComboBoxBinding;
- import org.jdesktop.binding.swingx.DirectListBinding;
- import org.jdesktop.binding.swingx.LabelBinding;
- import org.jdesktop.binding.swingx.RadioBinding;
- import org.jdesktop.binding.swingx.TextBinding;
- import org.jdesktop.dataset.DataRow;
- import org.jdesktop.dataset.DataSet;
- import org.jdesktop.dataset.DataTable;
- import org.jdesktop.dataset.adapter.DataModelAdapter;
- import org.jdesktop.dataset.adapter.SelectionModelAdapter;
- import org.jdesktop.dataset.adapter.TabularDataModelAdapter;
- import org.jdesktop.demo.DemoPanel;
- /**
- *
- * @author rbair
- */
- public class DataSetBindingDemoPanel extends DemoPanel {
- private DataSet testDS;
- /** Creates new form DataSetBindingDemoPanel */
- public DataSetBindingDemoPanel() {
- setName("Binding to DataSet");
- initComponents();
- //set up the DataSet
- testDS = DataSetBindingDemoPanel.createTestDataSet();
- //load the DataSet with some test data
- DataSetBindingDemoPanel.loadTestDataSet(testDS);
- //now to bind
- TabularDataModel tdm = new TabularDataModelAdapter(testDS.getTable("Users"));
- new DirectListBinding(hackerList, tdm, "name", new SelectionModelAdapter(testDS.getTable("Users").getSelector("current")));
- DataModel model = new DataModelAdapter(testDS.getTable("Users").getSelector("current"));
- new LabelBinding(idLBL, model, "id");
- new TextBinding(nameTF, model, "name");
- new RadioBinding(mfRadioGroup, model, "gender");
- new BooleanBinding(developerCHK, model, "developer");
- new ComboBoxBinding(langCB, model, "primary_language");
- new CustomSliderBinding(skillSlider, model, "skill_level");
- new TextBinding(notesTA, model, "notes");
- }
- public String getHtmlDescription() {
- return "<html>This demo shows the results of binding various UI " +
- "components to a DataSet. The DataSet schema can be viewed by " +
- "clicking the 'View Schema' button</html>";
- }
- private static DataSet createTestDataSet() {
- DataSet ds = new DataSet("Test");
- DataTable table = ds.createTable("Users");
- table.createColumn("id").setKeyColumn(true);
- table.getColumn("id").setType(Integer.class);
- table.createColumn("name");
- table.createColumn("gender");
- table.createColumn("developer").setType(Boolean.class);
- table.createColumn("primary_language");
- table.createColumn("skill_level").setType(Integer.class);
- table.createColumn("notes");
- return ds;
- }
- private static void loadTestDataSet(DataSet ds) {
- DataTable users = ds.getTable("Users");
- appendUser(users, 100, "John Doe", "Male", true, "English", 4, "Nice guy");
- appendUser(users, 101, "Jane Doe", "Female", true, "English", 6, "Not related to John Doe, amazingly enough");
- appendUser(users, 120, "Harry Hacker", "Male", true, "French", 9, "Remarkable fello!");
- appendUser(users, 300, "Marlaina S. Coder", "Female", true, "German", 8, "Oh boy can she code!");
- }
- private static DataRow appendUser(DataTable users, int id, String name,
- String gender, boolean dev, String lang, int skillz, String notes) {
- DataRow user = users.appendRowNoEvent();
- user.setValue("id", id);
- user.setValue("name", name);
- user.setValue("gender", gender);
- user.setValue("developer", dev);
- user.setValue("primary_language", lang);
- user.setValue("skill_level", skillz);
- user.setValue("notes", notes);
- user.setStatus(DataRow.DataRowStatus.UNCHANGED);
- return user;
- }
- /** This method is called from within the constructor to
- * initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is
- * always regenerated by the Form Editor.
- */
- // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
- private void initComponents() {
- java.awt.GridBagConstraints gridBagConstraints;
- jSplitPane1 = new javax.swing.JSplitPane();
- jScrollPane1 = new javax.swing.JScrollPane();
- hackerList = new javax.swing.JList();
- jPanel1 = new javax.swing.JPanel();
- jLabel1 = new javax.swing.JLabel();
- nameTF = new javax.swing.JTextField();
- jLabel2 = new javax.swing.JLabel();
- idLBL = new javax.swing.JLabel();
- jLabel4 = new javax.swing.JLabel();
- jLabel5 = new javax.swing.JLabel();
- developerCHK = new javax.swing.JCheckBox();
- jLabel6 = new javax.swing.JLabel();
- langCB = new javax.swing.JComboBox();
- jLabel7 = new javax.swing.JLabel();
- skillSlider = new javax.swing.JSlider();
- jLabel8 = new javax.swing.JLabel();
- jScrollPane3 = new javax.swing.JScrollPane();
- notesTA = new javax.swing.JTextArea();
- mfRadioGroup = new org.jdesktop.swingx.JXRadioGroup();
- mfRadioGroup.add("Male");
- mfRadioGroup.add("Female");
- setLayout(new java.awt.BorderLayout());
- jScrollPane1.setViewportView(hackerList);
- jSplitPane1.setLeftComponent(jScrollPane1);
- jPanel1.setLayout(new java.awt.GridBagLayout());
- jLabel1.setText("Bound JLabel:");
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
- gridBagConstraints.insets = new java.awt.Insets(12, 12, 0, 0);
- jPanel1.add(jLabel1, gridBagConstraints);
- nameTF.setText("jTextField1");
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 1;
- gridBagConstraints.gridy = 1;
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- gridBagConstraints.weightx = 1.0;
- gridBagConstraints.insets = new java.awt.Insets(7, 5, 0, 11);
- jPanel1.add(nameTF, gridBagConstraints);
- jLabel2.setText("Bound JTextField:");
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.gridy = 1;
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
- gridBagConstraints.insets = new java.awt.Insets(7, 12, 0, 0);
- jPanel1.add(jLabel2, gridBagConstraints);
- idLBL.setText("jLabel3");
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- gridBagConstraints.weightx = 1.0;
- gridBagConstraints.insets = new java.awt.Insets(12, 5, 0, 11);
- jPanel1.add(idLBL, gridBagConstraints);
- jLabel4.setText("Bound JXRadioGroup:");
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.gridy = 2;
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
- gridBagConstraints.insets = new java.awt.Insets(7, 12, 0, 0);
- jPanel1.add(jLabel4, gridBagConstraints);
- jLabel5.setText("Bound JCheckBox:");
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.gridy = 3;
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
- gridBagConstraints.insets = new java.awt.Insets(7, 12, 0, 0);
- jPanel1.add(jLabel5, gridBagConstraints);
- developerCHK.setText("Developer");
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 1;
- gridBagConstraints.gridy = 3;
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
- gridBagConstraints.weightx = 1.0;
- gridBagConstraints.insets = new java.awt.Insets(7, 5, 0, 11);
- jPanel1.add(developerCHK, gridBagConstraints);
- jLabel6.setText("Bound JComboBox:");
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.gridy = 4;
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
- gridBagConstraints.insets = new java.awt.Insets(7, 12, 0, 0);
- jPanel1.add(jLabel6, gridBagConstraints);
- langCB.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "English", "French", "German", "Spanish", "Russian" }));
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 1;
- gridBagConstraints.gridy = 4;
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- gridBagConstraints.weightx = 1.0;
- gridBagConstraints.insets = new java.awt.Insets(7, 5, 0, 11);
- jPanel1.add(langCB, gridBagConstraints);
- jLabel7.setText("Bound JSlider:");
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.gridy = 5;
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
- gridBagConstraints.insets = new java.awt.Insets(7, 12, 0, 0);
- jPanel1.add(jLabel7, gridBagConstraints);
- skillSlider.setMajorTickSpacing(1);
- skillSlider.setMaximum(10);
- skillSlider.setMinorTickSpacing(1);
- skillSlider.setPaintLabels(true);
- skillSlider.setPaintTicks(true);
- skillSlider.setSnapToTicks(true);
- skillSlider.setToolTipText("Select the skill level of the developer, 1 being lowest, 10 being highest");
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 1;
- gridBagConstraints.gridy = 5;
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- gridBagConstraints.weightx = 1.0;
- gridBagConstraints.insets = new java.awt.Insets(7, 5, 0, 11);
- jPanel1.add(skillSlider, gridBagConstraints);
- jLabel8.setText("Bound JEditorPane:");
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 0;
- gridBagConstraints.gridy = 6;
- gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
- gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
- gridBagConstraints.insets = new java.awt.Insets(7, 12, 0, 0);
- jPanel1.add(jLabel8, gridBagConstraints);
- jScrollPane3.setViewportView(notesTA);
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 1;
- gridBagConstraints.gridy = 6;
- gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
- gridBagConstraints.weightx = 1.0;
- gridBagConstraints.weighty = 1.0;
- gridBagConstraints.insets = new java.awt.Insets(7, 5, 11, 11);
- jPanel1.add(jScrollPane3, gridBagConstraints);
- gridBagConstraints = new java.awt.GridBagConstraints();
- gridBagConstraints.gridx = 1;
- gridBagConstraints.gridy = 2;
- gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
- gridBagConstraints.weightx = 1.0;
- gridBagConstraints.insets = new java.awt.Insets(7, 5, 0, 11);
- jPanel1.add(mfRadioGroup, gridBagConstraints);
- jSplitPane1.setRightComponent(jPanel1);
- add(jSplitPane1, java.awt.BorderLayout.CENTER);
- }
- // </editor-fold>//GEN-END:initComponents
- // Variables declaration - do not modify//GEN-BEGIN:variables
- private javax.swing.JCheckBox developerCHK;
- private javax.swing.JList hackerList;
- private javax.swing.JLabel idLBL;
- private javax.swing.JLabel jLabel1;
- private javax.swing.JLabel jLabel2;
- private javax.swing.JLabel jLabel4;
- private javax.swing.JLabel jLabel5;
- private javax.swing.JLabel jLabel6;
- private javax.swing.JLabel jLabel7;
- private javax.swing.JLabel jLabel8;
- private javax.swing.JPanel jPanel1;
- private javax.swing.JScrollPane jScrollPane1;
- private javax.swing.JScrollPane jScrollPane3;
- private javax.swing.JSplitPane jSplitPane1;
- private javax.swing.JComboBox langCB;
- private org.jdesktop.swingx.JXRadioGroup mfRadioGroup;
- private javax.swing.JTextField nameTF;
- private javax.swing.JTextArea notesTA;
- private javax.swing.JSlider skillSlider;
- // End of variables declaration//GEN-END:variables
- public static final class CustomSliderBinding extends AbstractBinding {
- private JSlider slider;
- public CustomSliderBinding(JSlider slider, DataModel model, String fieldName) {
- super(slider, model, fieldName, AbstractBinding.AUTO_VALIDATE_NONE);
- }
- protected void setComponent(javax.swing.JComponent component) {
- assert component instanceof JSlider;
- slider = (JSlider)component;
- }
- protected void setComponentValue(Object value) {
- if (value instanceof Number) {
- slider.setValue(((Number)value).intValue());
- }
- }
- protected Object getComponentValue() {
- return slider.getValue();
- }
- public javax.swing.JComponent getComponent() {
- return slider;
- }
- }
- }