La questione non è delle più semplici. Una tabella non è fatta solo di righe, ma anche di colonne. Quindi dire "voglio che vengano mostrate le ultime 4 righe" non è sufficiente: ti basta che vengano mostrate le prime colonne delle ultime 4 righe (scroll orizzontale tutto a sinistra)? Vuoi visualizzare le ultime colonne delle ultime righe (scroll orizzontale tutto a destra)?
Supponiamo la prima, dovrebbe essere sufficiente questo codice (non l'ho provato):
Questo dovrebbe selezionare l'ultima riga e renderla visibile (forando, quindi, lo scroll del JScrollPane).codice:public void addRow(TuaRiga riga) { ... // Tutto come mostrato prima scrollToLastRow(); } ... private void scrollToLastRow() { int lastRow = tabella.getRowCount() - 1; Rectangle rect = tuaTabella.getCellRect(lastRow, 0, true); tuaTabella.scrollRectToVisible( rect ); tuaTabella.clearSelection(); tuaTabella.setRowSelectionInterval(lastRow, lastRow); tuaTabella.getModel().fireTableDataChanged(); }
Ciao.![]()



Rispondi quotando