Mega Code Archive

 
Categories / Java / Swing JFC
 

Scroll JTable To Center

/* This file is part of JNesBR. JNesBR 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. JNesBR 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 JNesBR.  If not, see <http://www.gnu.org/licenses/>.  */ //package jnesbr.util; import java.awt.Rectangle; import javax.swing.JTable; import javax.swing.JViewport; /**  * @author dreampeppers99  */ public class JTableHelper {     public static void scrollToCenter(JTable table, int rowIndex, int vColIndex) {         if (!(table.getParent() instanceof JViewport)) {             return;         }         JViewport viewport = (JViewport) table.getParent();         Rectangle rect = table.getCellRect(rowIndex, vColIndex, true);         Rectangle viewRect = viewport.getViewRect();         rect.setLocation(rect.x - viewRect.x, rect.y - viewRect.y);         int centerX = (viewRect.width - rect.width) / 2;         int centerY = (viewRect.height - rect.height) / 2;         if (rect.x < centerX) {             centerX = -centerX;         }         if (rect.y < centerY) {             centerY = -centerY;         }         rect.translate(centerX, centerY);         viewport.scrollRectToVisible(rect);     } }