Here you can find the source of aceptarTeclaPresionada(KeyEvent e, JTable pTabla, JTextField pTextoDeBusqueda, int pColumna)
public static void aceptarTeclaPresionada(KeyEvent e, JTable pTabla, JTextField pTextoDeBusqueda, int pColumna)
//package com.java2s; //License from project: Open Source License import javax.swing.*; import java.awt.*; import java.awt.event.KeyEvent; public class Main { public static void aceptarTeclaPresionada(KeyEvent e, JTable pTabla, JTextField pTextoDeBusqueda, int pColumna) { if (pTabla.getRowCount() <= 0) return; if (e.getKeyCode() == KeyEvent.VK_DOWN) { if (pTabla.getRowCount() - 1 > pTabla.getSelectedRow()) { showCell(pTabla, pTabla.getSelectedRow() + 1, 0); if (pTextoDeBusqueda != null) setearTextoDeBusqueda(pTabla, pTextoDeBusqueda, pColumna);/*from www .j a va2s.c o m*/ } } else if (e.getKeyCode() == KeyEvent.VK_UP) { if (pTabla.getSelectedRow() > 0) { showCell(pTabla, pTabla.getSelectedRow() - 1, 0); if (pTextoDeBusqueda != null) setearTextoDeBusqueda(pTabla, pTextoDeBusqueda, pColumna); } } else if (e.getKeyCode() == KeyEvent.VK_PAGE_DOWN) { int vNum = (int) java.lang.Math.round(pTabla.getVisibleRect() .getHeight() / (pTabla.getRowHeight() + pTabla.getRowMargin())); if ((pTabla.getRowCount() > pTabla.getSelectedRow()) && ((pTabla.getSelectedRow() + vNum) <= pTabla .getRowCount())) showCell(pTabla, pTabla.getSelectedRow() + vNum, 0); else showCell(pTabla, pTabla.getRowCount() - 1, 0); if (pTextoDeBusqueda != null) setearTextoDeBusqueda(pTabla, pTextoDeBusqueda, pColumna); } else if (e.getKeyCode() == KeyEvent.VK_PAGE_UP) { int vNum = (int) java.lang.Math.round(pTabla.getVisibleRect() .getHeight() / (pTabla.getRowHeight() + pTabla.getRowMargin())); if ((pTabla.getSelectedRow() > 0) && ((pTabla.getSelectedRow() - vNum) >= 0)) showCell(pTabla, pTabla.getSelectedRow() - vNum, 0); else showCell(pTabla, 0, 0); if (pTextoDeBusqueda != null) setearTextoDeBusqueda(pTabla, pTextoDeBusqueda, pColumna); } } public static void showCell(JTable table, int row, int column) { if (row >= table.getRowCount()) row = table.getRowCount() - 1; Rectangle rect = table.getCellRect(row, column, true); table.scrollRectToVisible(rect); table.clearSelection(); table.setRowSelectionInterval(row, row); } public static void setearTextoDeBusqueda(JTable pTabla, JTextField pTextoDeBusqueda, int pColumna) { if (pTabla.getSelectedRow() >= 0) { showCell(pTabla, pTabla.getSelectedRow(), 0); pTextoDeBusqueda.setText(((String) pTabla.getValueAt( pTabla.getSelectedRow(), pColumna)).trim() .toUpperCase()); pTextoDeBusqueda.selectAll(); } } }