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