swing/samples/net/sf/xframe/swing/demo JXTableDemo3.java,1.2,1.3

Kurt Riede <[email protected]> Sat, 09 Apr 2005 15:52:58 +0000
Newsgroups gmane.text.xml.xframe.xsddoc.devel
Message-ID <[email protected]>
Update of /cvsroot/xframe/swing/samples/net/sf/xframe/swing/demo
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2837/samples/net/sf/xframe/swing/demo

Modified Files:
	JXTableDemo3.java 
Log Message:
new tests to demonstrate usage of method prepareRenderer() and class DefaultJXTableCellRenderer

Index: JXTableDemo3.java
===================================================================
RCS file: /cvsroot/xframe/swing/samples/net/sf/xframe/swing/demo/JXTableDemo3.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** JXTableDemo3.java	2 Apr 2005 21:12:06 -0000	1.2
--- JXTableDemo3.java	9 Apr 2005 15:52:56 -0000	1.3
***************
*** 2,5 ****
--- 2,7 ----
  
  import java.awt.BorderLayout;
+ import java.awt.Color;
+ import java.awt.Component;
  import java.awt.Dimension;
  import java.awt.FlowLayout;
***************
*** 11,22 ****
  import javax.swing.JFrame;
  import javax.swing.JPanel;
  import javax.swing.table.DefaultTableModel;
- import javax.swing.table.TableColumnModel;
  import javax.swing.table.TableModel;
  
  import net.sf.xframe.swing.JXTable;
  
  /**
!  * Simple demo of the JXTable with frozen columns.
   *
   * @author <a href=mailto:[email protected]>Kurt Riede</a>
--- 13,26 ----
  import javax.swing.JFrame;
  import javax.swing.JPanel;
+ import javax.swing.ListSelectionModel;
  import javax.swing.table.DefaultTableModel;
  import javax.swing.table.TableModel;
  
  import net.sf.xframe.swing.JXTable;
+ import net.sf.xframe.swing.table.DefaultJXTabelCellRenderer;
  
  /**
!  * Demonstrates the use of a
!  * {@link net.sf.xframe.swing.DefaultJXTabelCellRenderer DefaultJXTabelCellRenderer}.
   *
   * @author <a href=mailto:[email protected]>Kurt Riede</a>
***************
*** 33,36 ****
--- 37,70 ----
  
      /**
+      * Our own table model.
+      */
+     private final class MyTableModel extends DefaultTableModel {
+ 
+         private MyTableModel(final int rowCount, final int columnCount) {
+             super(rowCount, columnCount);
+         }
+ 
+         public boolean isCellEditable(final int row, final int column) {
+             return ((row + column) % 2) == 0;
+         }
+     }
+ 
+     /**
+      * Our own cell renderer.
+      */
+     private class ColoredTableCellRenderer extends DefaultJXTabelCellRenderer {
+         public Component getTableCellRendererComponent(final JXTable table, final Object value, final boolean selected,
+                 final boolean focused, final int row, final int column) {
+             final int col = table.getColumnModel().getColumn(column).getModelIndex();
+             if (((row + col) % 2) != 0) {
+                 setBackground(Color.LIGHT_GRAY);
+             } else {
+                 setBackground(null);
+             }
+             return this;
+         }
+     }
+ 
+     /**
       * Run the demo.
       */
***************
*** 41,51 ****
          frame.getContentPane().setLayout(layout);
          // create and add the table
!         final TableModel model1 = new DefaultTableModel(15, 3);
!         final TableModel model2 = new DefaultTableModel(15, 13);
!         final JXTable jxTable = new JXTable(model1);
!         final TableColumnModel cm = jxTable.getColumnModel();
!         jxTable.setModel(model2);
!         jxTable.setFrozenColumns(2);
!         frame.getContentPane().add(jxTable, BorderLayout.CENTER);
          // create some buttons to change the number of frozen columns
          final JPanel buttonPanel = new JPanel();
--- 75,88 ----
          frame.getContentPane().setLayout(layout);
          // create and add the table
!         final TableModel model1 = new MyTableModel(15, 23);
!         final TableModel model2 = new MyTableModel(15, 13);
!         final JXTable table = new JXTable(model1, 3);
!         table.setModel(model2);
!         final ColoredTableCellRenderer renderer = new ColoredTableCellRenderer();
!         for (int i = 0; i < table.getColumnModel().getColumnCount() - 1; i++) {
!             table.getColumnModel().getColumn(i).setCellRenderer(renderer);
!         }
!         table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
!         frame.getContentPane().add(table, BorderLayout.CENTER);
          // create some buttons to change the number of frozen columns
          final JPanel buttonPanel = new JPanel();
***************
*** 57,61 ****
              button.addActionListener(new ActionListener() {
                  public void actionPerformed(final ActionEvent e) {
!                     jxTable.setFrozenColumns(num);
                  }
              });
--- 94,98 ----
              button.addActionListener(new ActionListener() {
                  public void actionPerformed(final ActionEvent e) {
!                     table.setFrozenColumns(num);
                  }
              });



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click