Java JTable Column aceptarTeclaPresionada(KeyEvent e, JTable pTabla, JTextField pTextoDeBusqueda, int pColumna)

Here you can find the source of aceptarTeclaPresionada(KeyEvent e, JTable pTabla, JTextField pTextoDeBusqueda, int pColumna)

Description

aceptar Tecla Presionada

License

Open Source License

Declaration

public static void aceptarTeclaPresionada(KeyEvent e, JTable pTabla,
        JTextField pTextoDeBusqueda, int pColumna) 

Method Source Code

//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();
        }
    }
}

Related

  1. addSpaceSelection(final JTable table, final int column)
  2. ajustarAnchoColumnas(JTable table)
  3. buscarDescripcion(KeyEvent e, JTable pTabla, JTextField pTextoDeBusqueda, int pColumna)
  4. cloneTableColumn(TableColumn c)