1 package javajs.swing;
\r
3 import javajs.awt.Dimension;
\r
4 import javajs.util.BS;
\r
5 import javajs.util.SB;
\r
8 public class JTable extends JComponent implements ListSelectionModel, ColumnSelectionModel {
\r
10 private AbstractTableModel tableModel;
\r
11 private BS bsSelectedCells;
\r
12 private BS bsSelectedRows;
\r
14 boolean rowSelectionAllowed;
\r
15 boolean cellSelectionEnabled;
\r
16 Object selectionListener;
\r
18 public JTable(AbstractTableModel tableModel) {
\r
20 this.tableModel = tableModel;
\r
21 this.bsSelectedCells = new BS();
\r
22 this.bsSelectedRows = new BS();
\r
26 public ListSelectionModel getSelectionModel() {
\r
30 public ColumnSelectionModel getColumnModel() {
\r
34 public void setPreferredScrollableViewportSize(Dimension dimension) {
\r
35 this.width = dimension.width;
\r
36 this.height = dimension.height;
\r
39 public void clearSelection() {
\r
40 bsSelectedCells.clearAll();
\r
41 bsSelectedRows.clearAll();
\r
44 public void setRowSelectionAllowed(boolean b) {
\r
45 rowSelectionAllowed = b;
\r
48 public void setRowSelectionInterval(int i, int j) {
\r
49 bsSelectedRows.clearAll();
\r
50 bsSelectedRows.setBits(i, j);
\r
51 bsSelectedCells.clearAll();
\r
54 public void setCellSelectionEnabled(boolean enabled) {
\r
55 cellSelectionEnabled = enabled;
\r
59 * It will be the function of the JavaScript on the
\r
60 * page to do with selectionListener what is desired.
\r
66 public void addListSelectionListener(Object listener) {
\r
67 selectionListener = listener;
\r
71 public TableColumn getColumn(int i) {
\r
72 return tableModel.getColumn(i);
\r
76 public String toHTML() {
\r
78 sb.append("\n<table id='" + id + "_table' class='JTable' >");
\r
79 tableModel.toHTML(sb, id, bsSelectedRows);
\r
80 sb.append("\n</table>\n");
\r
81 return sb.toString();
\r