Java JTable Scroll scrollToVisible(JTable table, int rowIndex, int colIndex, boolean center)

Here you can find the source of scrollToVisible(JTable table, int rowIndex, int colIndex, boolean center)

Description

scroll To Visible

License

Open Source License

Declaration

public static void scrollToVisible(JTable table, int rowIndex, int colIndex, boolean center) 

Method Source Code


//package com.java2s;
/*//  ww  w  . jav a 2  s.c o m
 *  Copyright (C) 2010 Amon
 *
 *  This program is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

import java.awt.Rectangle;

import javax.swing.JTable;
import javax.swing.JViewport;

public class Main {
    public static void scrollToVisible(JTable table, int rowIndex, int colIndex, boolean center) {
        if (!(table.getParent() instanceof JViewport)) {
            return;
        }

        JViewport viewport = (JViewport) table.getParent();
        Rectangle rect = table.getCellRect(rowIndex, colIndex, true);
        Rectangle viewRect = viewport.getViewRect();
        rect.setLocation(rect.x - viewRect.x, rect.y - viewRect.y);

        if (center) {
            int centerX = (viewRect.width - rect.width) >> 1;
            int centerY = (viewRect.height - rect.height) >> 1;

            if (rect.x < centerX) {
                centerX = -centerX;
            }
            if (rect.y < centerY) {
                centerY = -centerY;
            }
            rect.translate(centerX, centerY);
        }

        viewport.scrollRectToVisible(rect);
    }
}

Related

  1. scrollToVisible(final JTable table, final int rowIndex, final int vColIndex)
  2. scrollToVisible(final JTable table, int rowIndex, int vColIndex)
  3. scrollToVisible(JTable table, int row, int col)
  4. scrollToVisible(JTable table, int row, int col)
  5. scrollToVisible(JTable table, int rowIndex, int colIndex)
  6. scrollToVisible(JTable table, int rowIndex, int vColIndex)
  7. scrollToVisible(JTable table, int rowIndex, int vColIndex)
  8. scrollToVisible(JTable table, int rowIndex, int vColIndex)
  9. scrollToVisible(JTable table, int rowIndex, int vColIndex)