@Override public void updateAll() { if (notifyUpdateCalled) return; int size = rowList.size(); int toolbarIconHeight = 0; // If displaying toolbarIcon is set, row height must be at least 32 // + 1: if (isColumnInModel(tableColumns[1])) toolbarIconHeight = 32 + 1; /* * FIXME: The cell content is not aligned vertically centered. I * don't think it is possible to easily solve this because JTable * does not offer a convenient way for vertical alignment of the * cell content. Probably * http://articles.techrepublic.com.com/5100-10878_11-5032692.html * may help, or to use the same technique which is introduced in * GeoGebraCAS. */ for (int i = 0; i < size; ++i) { RowData row = rowList.get(i); row.updateAll(); // it seems there isn't fit to content (automatic) row height in // JTable, // so we use the most frequent option, 2 lines of text in a row // (this is still better than 1 lines of text in a row) if (row.getIncludesIndex()) { table.setRowHeight(i, Math.max((table.getFont().getSize() * 2 + 16), toolbarIconHeight)); } else { table.setRowHeight(i, Math.max((table.getFont().getSize() * 2 + 12), toolbarIconHeight)); } } ctDataImpl.fireTableRowsUpdated(0, size - 1); }
@Override public void fireTableRowsInserted(int firstRow, int lastRow) { ctDataImpl.fireTableRowsInserted(firstRow, lastRow); }
@Override protected void fireTableRowsUpdated(int rowNumber, int rowNumber2) { ctDataImpl.fireTableRowsUpdated(rowNumber, rowNumber2); }