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