Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/*
 * Copyright appNativa Inc. All Rights Reserved.
 *
 * This file is part of the Real-time Application Rendering Engine (RARE).
 *
 * RARE 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.Point;
import java.awt.Rectangle;

import javax.swing.JComponent;

public class Main {
    final static int AUTOSCROLL_INSET_SIZE = 20;
    final static int SCROLL_AMOUNT = 10;

    /**
     * Implements autoscrolling.
     *
     * @param comp
     *          the component
     * @param cursorLocn
     *          the cursor location
     */
    public static void defaultAutoScroll(JComponent comp, Point cursorLocn) {
        Rectangle visible = comp.getVisibleRect();
        int x = 0, y = 0, width = 0, height = 0;

        // Scroll left.
        if (cursorLocn.x < visible.x + AUTOSCROLL_INSET_SIZE) {
            x = -SCROLL_AMOUNT;
            width = SCROLL_AMOUNT;
        } // Scroll right.
        else if (cursorLocn.x > visible.x + visible.width - AUTOSCROLL_INSET_SIZE) {
            x = visible.width + SCROLL_AMOUNT;
            width = SCROLL_AMOUNT;
        }

        // Scroll up.
        if (cursorLocn.y < visible.y + AUTOSCROLL_INSET_SIZE) {
            y = -SCROLL_AMOUNT;
            height = SCROLL_AMOUNT;
        } // Scroll down.
        else if (cursorLocn.y > visible.y + visible.height - AUTOSCROLL_INSET_SIZE) {
            y = visible.height + SCROLL_AMOUNT;
            height = SCROLL_AMOUNT;
        }

        ((JComponent) comp.getParent()).scrollRectToVisible(new Rectangle(x, y, width, height));
    }
}