Friday, December 13, 2013

JTable automatically scroll cell to view when tabbing out of view

/**
     * When tabbing out of the view, scroll the selected cell to the closest edge of the view.
     * If a tab or mouse click is within the view, no scroll will happen
     * @param rowIndex the row of the selected cell
     * @param vColIndex the column of the selected cell
     */
    public void scrollCellToView(int rowIndex, int vColIndex) {
        if (!(this.getParent() instanceof JViewport)) {
            return;
        }
        JViewport viewport = (JViewport) this.getParent();
        Rectangle rect = this.getCellRect(rowIndex, vColIndex, true);
        Rectangle viewRect = viewport.getViewRect();
     
        int x = viewRect.x;
        int y = viewRect.y;
     
        if (rect.x >= viewRect.x && rect.x <= (viewRect.x + viewRect.width - rect.width)){
         
        } else if (rect.x < viewRect.x){
            x = rect.x;
        } else if (rect.x > (viewRect.x + viewRect.width - rect.width)) {
            x = rect.x - viewRect.width + rect.width;
        }
     
        if (rect.y >= viewRect.y && rect.y <= (viewRect.y + viewRect.height - rect.height)){
         
        } else if (rect.y < viewRect.y){
            y = rect.y;
        } else if (rect.y > (viewRect.y + viewRect.height - rect.height)){
            y = rect.y - viewRect.height + rect.height;
        }
     
        viewport.setViewPosition(new Point(x,y));
    }

-----------------------------------------------------------------------------------------------------------------

                        
If you have ever asked yourself these questions, this is the book for you. What is the meaning of life? Why do people suffer? What is in control of my life? Why is life the way it is? How can I stop suffering and be happy? How can I have a successful life? How can I have a life I like to have? How can I be the person I like to be? How can I be wiser and smarter? How can I have good and harmonious relations with others? Why do people meditate to achieve enlightenment? What is the true meaning of spiritual practice? Why all beings are one? Read the book free here.

No comments:

Post a Comment