12 private Cell[][] grid;
13 private String renderer;
16 Grid(int rows, int cols) {
17 grid = new Cell[0][0];
20 public void add(JComponent btn, GridBagConstraints c) {
21 if (c.gridx >= ncols) {
23 for (int i = 0; i < nrows; i++) {
24 grid[i] = (Cell[]) AU.ensureLength(grid[i], ncols * 2);
27 if (c.gridy >= nrows) {
28 Cell[][] g = new Cell[c.gridy * 2 + 1][];
29 for (int i = 0; i < nrows; i++)
31 for (int i = g.length; --i >= nrows;)
32 g[i] = new Cell[ncols * 2 + 1];
36 grid[c.gridy][c.gridx] = new Cell(btn, c);
39 public String toHTML(String id) {
42 sb.append("\n<table id='" + id + "' class='Grid' style='width:100%;height:100%'><tr><td style='height:20%;width:20%'></td></tr>");
43 for (int i = 0; i < nrows; i++) {
44 String rowid = id + "_" + i;
45 sb.append("\n<tr id='" + rowid + "'><td></td>");
46 for (int j = 0; j < ncols; j++)
47 if (grid[i][j] != null)
48 sb.append(grid[i][j].toHTML(rowid + "_" + j));
51 sb.append("\n<tr><td style='height:20%;width:20%'></td></tr></table>\n");