buscar en una jtable

agustin
08 de Febrero del 2005
hola espero me puedan ayudar lo que quiero hacer es que en una jtable que este en un jscrollpane cuando busque un dato y lo encuentre la j table se mueva de tal manera que se muestre la fila donde esta el dato

nkpevfqy
08 de Febrero del 2005
Para ello puedes seleccionar la fila y mover el scroll hasta ella:

public void setFilaSeleccionada(int fila){
table.setRowSelectionInterval(fila, fila);
table.scrollRectToVisible(new Rectangle (getCoordenadasCeldaRespectoTabla(fila, 0), getTamañoCelda(0)));
}

private Dimension getTamañoCelda (int columna) {
return new Dimension (table.getColumnModel().getColumn(columna).getWidth(), table.getRowHeight());
}

private Point getCoordenadasCeldaRespectoTabla (int fila, int columna) {

int desplazamientoColumna = 0;
for (int i=0; i<columna && i<table.getColumnCount(); i++)
desplazamientoColumna += table.getColumnModel().getColumn(i).getWidth();

int deplazamientoFila = table.getRowHeight()*fila;
if (table.getSize().getHeight()<=deplazamientoFila)
deplazamientoFila = (int)table.getSize().getHeight()-table.getRowHeight();

int x = desplazamientoColumna;
int y = deplazamientoFila;

return new Point (x, y);
}