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