From: Kurt R. <kr...@us...> - 2005-04-09 15:51:26
|
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) { |