@Override public void tableChanged(final TableModelEvent e) { if (TableUtilities.isInsert(e)) { final int currentRowCount = myTableModel.getRowCount(); if (currentRowCount != lastRowCountScrolledTo) { lastRowCountScrolledTo = currentRowCount; SwingUtilities.invokeLater(() -> table.scrollRectToVisible(table.getCellRect(myTableModel.getRowCount() - 1, 0, false))); } } } });
@Override public void tableChanged(final TableModelEvent e) { if (TableUtilities.isInsert(e)) { final int currentRowCount = myTableModel.getRowCount(); if (currentRowCount != lastRowCountScrolledTo) { lastRowCountScrolledTo = currentRowCount; SwingUtilities.invokeLater(() -> table.scrollRectToVisible(table.getCellRect(myTableModel.getRowCount() - 1, 0, false))); } } } });
@Override public void tableChanged(final TableModelEvent e) { if (TableUtilities.isInsert(e)) { final int currentRowCount = myTableModel.getRowCount(); if (currentRowCount != lastRowCountScrolledTo) { lastRowCountScrolledTo = currentRowCount; SwingUtilities.invokeLater(() -> table.scrollRectToVisible(table.getCellRect(myTableModel.getRowCount() - 1, 0, false))); } } } });
PwnBackTable() { logTable.getModel().addTableModelListener(e -> { if (TableUtilities.isInsert(e)) { int viewRow = logTable.convertRowIndexToView(e.getFirstRow()); logTable.scrollRectToVisible(logTable.getCellRect(viewRow, 0, true)); } }); logTable.setDefaultRenderer(Object.class, new DefaultTableCellRenderer() { @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); } }); }
private void invokedTableChanged(TableModelEvent e) { if (isStructureChanged(e) || isDataChanged(e)) { updatePreferredRowHeights(); } else if (isUpdate(e) || isInsert(e)) { updatePreferredRowHeights(e.getFirstRow(), e.getLastRow()); } // do nothing on delete } };
private void invokedTableChanged(TableModelEvent e) { if (isStructureChanged(e) || isDataChanged(e)) { updatePreferredRowHeights(); } else if (isUpdate(e) || isInsert(e)) { updatePreferredRowHeights(e.getFirstRow(), e.getLastRow()); } // do nothing on delete } };
private void invokedTableChanged(TableModelEvent e) { if (isStructureChanged(e) || isDataChanged(e)) { updatePreferredRowHeights(); } else if (isUpdate(e) || isInsert(e)) { updatePreferredRowHeights(e.getFirstRow(), e.getLastRow()); } // do nothing on delete } };
private void invokedTableChanged(TableModelEvent e) { if (isStructureChanged(e) || isDataChanged(e)) { updatePreferredRowHeights(); } else if (isUpdate(e) || isInsert(e)) { updatePreferredRowHeights(e.getFirstRow(), e.getLastRow()); } // do nothing on delete } };