swing/samples/net/sf/xframe/swing/demo JXTable2Applet.java,1.4,1.5

Kurt Riede <[email protected]> Sat, 09 Apr 2005 15:51:19 +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-serv2273/samples/net/sf/xframe/swing/demo

Modified Files:
	JXTable2Applet.java 
Log Message:
some bugs fixed and updated to new JXTable

Index: JXTable2Applet.java
===================================================================
RCS file: /cvsroot/xframe/swing/samples/net/sf/xframe/swing/demo/JXTable2Applet.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** JXTable2Applet.java	2 Apr 2005 21:12:06 -0000	1.4
--- JXTable2Applet.java	9 Apr 2005 15:51:16 -0000	1.5
***************
*** 43,47 ****
  import javax.swing.JPanel;
  import javax.swing.RootPaneContainer;
- import javax.swing.table.AbstractTableModel;
  import javax.swing.table.DefaultTableModel;
  import javax.swing.table.TableColumn;
--- 43,46 ----
***************
*** 237,251 ****
      private void addColumnGroupTable1() {
          final JXTableHeader header = table1.getTableHeader();
!         final DefaultTableModel model = (DefaultTableModel) table1.getModel();
!         model.addColumn("from");
!         model.addColumn("to");
!         model.fireTableStructureChanged();
          final TableColumnModel columnModel = table1.getColumnModel();
          final int numColumns = columnModel.getColumnCount();
!         columnModel.addColumn(createColumn(numColumns, SCROLL_BLOCK_WIDTH / 2, "from"));
!         columnModel.addColumn(createColumn(numColumns, SCROLL_BLOCK_WIDTH / 2, "to"));
!         final ColumnGroup saisonGroup = new ColumnGroup("timeframe " + ((numColumns) / 2 + 1));
!         saisonGroup.add(columnModel.getColumn(numColumns + 0));
          saisonGroup.add(columnModel.getColumn(numColumns + 1));
          header.addColumnGroup(saisonGroup);
      }
--- 236,249 ----
      private void addColumnGroupTable1() {
          final JXTableHeader header = table1.getTableHeader();
!         final SaisonsTableModel model = (SaisonsTableModel) table1.getModel();
!         model.addSaison();
! //        model.fireTableStructureChanged();
          final TableColumnModel columnModel = table1.getColumnModel();
          final int numColumns = columnModel.getColumnCount();
!         columnModel.addColumn(createColumn(numColumns + 0, SCROLL_BLOCK_WIDTH / 2, "from"));
!         columnModel.addColumn(createColumn(numColumns + 1, SCROLL_BLOCK_WIDTH / 2, "to"));
!         final ColumnGroup saisonGroup = new ColumnGroup("timeframe " + ((numColumns + 2) / 2));
          saisonGroup.add(columnModel.getColumn(numColumns + 1));
+         saisonGroup.add(columnModel.getColumn(numColumns + 2));
          header.addColumnGroup(saisonGroup);
      }
***************
*** 266,272 ****
          columnModel.addColumn(createColumn(numColumns + 2, 40, "P"));
          final ColumnGroup columnGroup = new ColumnGroup("timeframe " + ((numColumns - TABLE_2_FROZEN_COLS) / 3 + 1));
-         columnGroup.add(columnModel.getColumn(numColumns + 0));
          columnGroup.add(columnModel.getColumn(numColumns + 1));
          columnGroup.add(columnModel.getColumn(numColumns + 2));
          header.addColumnGroup(columnGroup);
      }
--- 264,270 ----
          columnModel.addColumn(createColumn(numColumns + 2, 40, "P"));
          final ColumnGroup columnGroup = new ColumnGroup("timeframe " + ((numColumns - TABLE_2_FROZEN_COLS) / 3 + 1));
          columnGroup.add(columnModel.getColumn(numColumns + 1));
          columnGroup.add(columnModel.getColumn(numColumns + 2));
+         columnGroup.add(columnModel.getColumn(numColumns + 3));
          header.addColumnGroup(columnGroup);
      }
***************
*** 300,310 ****
       */
      private JXTable createTable1() {
-         final String[] columnNames = {"from", "to", "from", "to", "from", "to", "from", "to" };
          Saisons saisons = getSampleSaisons();
          table1Model = new SaisonsTableModel(saisons);
- //        table1Model = new DefaultTableModel(columnNames, TABLE_1_ROWS);
          table1 = new JXTable(table1Model);
          final TableColumnModel columnModel = table1.getColumnModel();
- 
          final JXTableHeader header = table1.getTableHeader();
          for (int i = 0; i < columnGroupsCount; i++) {
--- 298,305 ----
***************
*** 404,407 ****
--- 399,406 ----
      /////////////////////////////////////////
  
+     /**
+      * A simple business model for a list of saisons.
+      * @see Saison
+      */
      private class Saisons {
          private List saisons = new ArrayList();
***************
*** 425,428 ****
--- 424,430 ----
      }
  
+     /**
+      * A simple business model for a saison, consisting of a list of date-ranges.
+      */
      private class Saison {
          private List durations = new ArrayList();
***************
*** 439,442 ****
--- 441,447 ----
      }
  
+     /**
+      * A simple business model for a duration (date-range), consisting of two dates (<tt>from</tt> and <tt>to</tt>).
+      */
      private class Duration {
          private Date from = null;
***************
*** 452,465 ****
      /////////////////////////////////////////
  
!     private class SaisonsTableModel extends AbstractTableModel {
          private Saisons saisons;
          public SaisonsTableModel(final Saisons s) {
              saisons = s;
          }
          public int getColumnCount() {
!             return saisons.getSaisonCount() * 2;
          }
          public int getRowCount() {
!             return saisons.getMaxDurations();
          }
          public boolean isCellEditable(final int rowIndex, final int columnIndex) {
--- 457,486 ----
      /////////////////////////////////////////
  
!     private class SaisonsTableModel extends DefaultTableModel {
          private Saisons saisons;
          public SaisonsTableModel(final Saisons s) {
              saisons = s;
          }
+         public void addSaison() {
+             Saison saison = new Saison();
+             for (int k = 0; k < 3; k++) {
+                 Duration duration = new Duration();
+                 saison.addDuration(duration);
+             }
+             saisons.addSaison(saison);
+ //            addColumn("from");
+ //            addColumn("to");
+         }
          public int getColumnCount() {
!             if (saisons != null) {
!                 return saisons.getSaisonCount() * 2;
!             }
!             return 0;
          }
          public int getRowCount() {
!             if (saisons != null) {
!                 return saisons.getMaxDurations();
!             }
!             return 0;
          }
          public boolean isCellEditable(final int rowIndex, final int columnIndex) {



-------------------------------------------------------
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