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

xml/soap/webservice

开发平台:

Java

  1. /*
  2.  * JXChooserDemoPanel.java
  3.  *
  4.  * Created on April 21, 2005, 5:07 PM
  5.  */
  6. package org.jdesktop.demo.swingx;
  7. import javax.swing.JCheckBox;
  8. import javax.swing.table.DefaultTableModel;
  9. import javax.swing.table.TableModel;
  10. import org.jdesktop.demo.DemoPanel;
  11. /**
  12.  * @author Thomas Bierhance
  13.  */
  14. public class JXChooserDemoPanel extends DemoPanel {
  15.     
  16.     final static String htmlDescription =
  17.             "<html><b>JXComboBox Prototypes (Incubator)</b><br/>" +
  18.             "This demo shows some early prototypes of an extended combo box " +
  19.             "from the incubator (realized by Thomas Bierhance and Ricardo " +
  20.             "Lopes).<br/> " +
  21.             "The approach allows to replace the JList inside of the combo" +
  22.             "box' pop-up menu with a custom component. Here it is replaced " +
  23.             "by a JTable and a two custom control panels." +
  24.             "</html>";
  25.     
  26.     /** Creates new form JXChooserDemoPanel */
  27.     public JXChooserDemoPanel() {
  28.         setName("JXComboBox (prototype)");
  29.         initComponents();
  30.         setTableModel();
  31.     }
  32.     
  33.     private void setTableModel() {
  34.         String[] columnNames = {"First Name", "Last Name", "Sport", "# of Years", "Vegetarian"};
  35.         Object[][] data = {
  36.             {"Mary", "Campione", "Snowboarding", new Integer(5), Boolean.FALSE},
  37.             {"Alison", "Huml", "Rowing", new Integer(3), Boolean.TRUE},
  38.             {"Kathy", "Walrath", "Knitting", new Integer(2), Boolean.FALSE},
  39.             {"Sharon", "Zakhour", "Speed reading", new Integer(20), Boolean.TRUE},
  40.             {"Philip", "Milne", "Pool", new Integer(10), Boolean.FALSE},
  41.             {"Mike", "Summers", "Tennis", new Integer(1), Boolean.TRUE},
  42.             {"Merissa", "Atwood", "Golf", new Integer(14), Boolean.FALSE},
  43.         };
  44.         // MyTableModel only overrides getColumnClass to demonstrate JCheckBox rendering
  45.         TableModel tableModel = new MyTableModel(data, columnNames);
  46.         tableComboBox.setModel(tableModel,1);
  47.     }
  48.     
  49.     // JTable would not render Boolean values using JCheckBox with the DefaultTableModel
  50.     static class MyTableModel extends DefaultTableModel {
  51.         public MyTableModel(Object[][] data, Object[] columnNames) {
  52.             super(data,columnNames);
  53.         }
  54.         public Class getColumnClass(int columnIndex) {
  55.             return getValueAt(0, columnIndex).getClass();
  56.         }
  57.         public boolean isCellEditable(int row, int columnIndex) {
  58.             return false;
  59.         }
  60.     }
  61.     
  62.     public String getHtmlDescription() {
  63.         return htmlDescription;
  64.     }
  65.     
  66.     public String getName() {
  67.         return "Extended Comboboxes";
  68.     }
  69.     
  70.     
  71.     /** This method is called from within the constructor to
  72.      * initialize the form.
  73.      * WARNING: Do NOT modify this code. The content of this method is
  74.      * always regenerated by the Form Editor.
  75.      */
  76.     // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
  77.     private void initComponents() {
  78.         java.awt.GridBagConstraints gridBagConstraints;
  79.         tableLabel = new javax.swing.JLabel();
  80.         try {
  81.             tableComboBox = new org.jdesktop.jdnc.incubator.jxcombobox.JTableComboBox();
  82.         } catch (org.jdesktop.jdnc.incubator.jxcombobox.IncompatibleLookAndFeelException e1) {
  83.             e1.printStackTrace();
  84.         }
  85.         headerCheckBox = new javax.swing.JCheckBox();
  86.         gridCheckBox = new javax.swing.JCheckBox();
  87.         separator = new javax.swing.JSeparator();
  88.         colorLabel = new javax.swing.JLabel();
  89.         try {
  90.             colorComboBox = new org.jdesktop.jdnc.incubator.jxcombobox.colorcombo.ColorComboBox();
  91.         } catch (org.jdesktop.jdnc.incubator.jxcombobox.IncompatibleLookAndFeelException e1) {
  92.             e1.printStackTrace();
  93.         }
  94.         smilieLabel = new javax.swing.JLabel();
  95.         try {
  96.             smilieComboBox = new org.jdesktop.jdnc.incubator.jxcombobox.smiliescombo.SmilieComboBox();
  97.         } catch (org.jdesktop.jdnc.incubator.jxcombobox.IncompatibleLookAndFeelException e1) {
  98.             e1.printStackTrace();
  99.         }
  100.         setLayout(new java.awt.GridBagLayout());
  101.         tableLabel.setText("TableComboBox");
  102.         gridBagConstraints = new java.awt.GridBagConstraints();
  103.         gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
  104.         add(tableLabel, gridBagConstraints);
  105.         gridBagConstraints = new java.awt.GridBagConstraints();
  106.         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
  107.         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
  108.         gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
  109.         add(tableComboBox, gridBagConstraints);
  110.         headerCheckBox.setSelected(true);
  111.         headerCheckBox.setText("show headers");
  112.         headerCheckBox.addActionListener(new java.awt.event.ActionListener() {
  113.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  114.                 headerCheckBoxActionPerformed(evt);
  115.             }
  116.         });
  117.         gridBagConstraints = new java.awt.GridBagConstraints();
  118.         gridBagConstraints.gridx = 1;
  119.         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
  120.         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
  121.         gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
  122.         add(headerCheckBox, gridBagConstraints);
  123.         gridCheckBox.setSelected(true);
  124.         gridCheckBox.setText("show grid");
  125.         gridCheckBox.addActionListener(new java.awt.event.ActionListener() {
  126.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  127.                 gridCheckBoxActionPerformed(evt);
  128.             }
  129.         });
  130.         gridBagConstraints = new java.awt.GridBagConstraints();
  131.         gridBagConstraints.gridx = 1;
  132.         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
  133.         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
  134.         gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
  135.         add(gridCheckBox, gridBagConstraints);
  136.         gridBagConstraints = new java.awt.GridBagConstraints();
  137.         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
  138.         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
  139.         gridBagConstraints.insets = new java.awt.Insets(10, 0, 10, 0);
  140.         add(separator, gridBagConstraints);
  141.         colorLabel.setText("ColorComboBox");
  142.         gridBagConstraints = new java.awt.GridBagConstraints();
  143.         gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
  144.         add(colorLabel, gridBagConstraints);
  145.         gridBagConstraints = new java.awt.GridBagConstraints();
  146.         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
  147.         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
  148.         gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
  149.         add(colorComboBox, gridBagConstraints);
  150.         smilieLabel.setText("SmilieComboBox");
  151.         gridBagConstraints = new java.awt.GridBagConstraints();
  152.         gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
  153.         add(smilieLabel, gridBagConstraints);
  154.         gridBagConstraints = new java.awt.GridBagConstraints();
  155.         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
  156.         gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);
  157.         add(smilieComboBox, gridBagConstraints);
  158.     }
  159.     // </editor-fold>//GEN-END:initComponents
  160.     
  161.     private void gridCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_gridCheckBoxActionPerformed
  162.         tableComboBox.setShowTableGrid(gridCheckBox.isSelected());
  163.     }//GEN-LAST:event_gridCheckBoxActionPerformed
  164.     
  165.     private void headerCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_headerCheckBoxActionPerformed
  166.         tableComboBox.setShowTableHeaders(headerCheckBox.isSelected());
  167.     }//GEN-LAST:event_headerCheckBoxActionPerformed
  168.     
  169.     
  170.     // Variables declaration - do not modify//GEN-BEGIN:variables
  171.     private org.jdesktop.jdnc.incubator.jxcombobox.colorcombo.ColorComboBox colorComboBox;
  172.     private javax.swing.JLabel colorLabel;
  173.     private javax.swing.JCheckBox gridCheckBox;
  174.     private javax.swing.JCheckBox headerCheckBox;
  175.     private javax.swing.JSeparator separator;
  176.     private org.jdesktop.jdnc.incubator.jxcombobox.smiliescombo.SmilieComboBox smilieComboBox;
  177.     private javax.swing.JLabel smilieLabel;
  178.     private org.jdesktop.jdnc.incubator.jxcombobox.JTableComboBox tableComboBox;
  179.     private javax.swing.JLabel tableLabel;
  180.     // End of variables declaration//GEN-END:variables
  181.     
  182. }