MouseWheelTest.java Source code

Java tutorial

Introduction

Here is the source code for MouseWheelTest.java

Source

import java.awt.Color;
import java.awt.Container;
import java.awt.event.MouseWheelEvent;
import java.awt.event.MouseWheelListener;

import javax.swing.JFrame;

public class MouseWheelTest extends JFrame {
    private static final Color colors[] = { Color.BLACK, Color.BLUE, Color.CYAN, Color.DARK_GRAY, Color.GRAY,
            Color.GREEN, Color.LIGHT_GRAY, Color.MAGENTA, Color.ORANGE, Color.PINK, Color.RED, Color.WHITE,
            Color.YELLOW };

    public MouseWheelTest() {
        super();
        final Container contentPane = getContentPane();

        MouseWheelListener listener = new MouseWheelListener() {
            int colorCounter;

            private static final int UP = 1;

            private static final int DOWN = 2;

            public void mouseWheelMoved(MouseWheelEvent e) {
                int count = e.getWheelRotation();
                int direction = (Math.abs(count) > 0) ? UP : DOWN;
                changeBackground(direction);
            }

            private void changeBackground(int direction) {
                contentPane.setBackground(colors[colorCounter]);

                if (direction == UP) {
                    colorCounter++;
                } else {
                    --colorCounter;
                }

                if (colorCounter == colors.length) {
                    colorCounter = 0;
                } else if (colorCounter < 0) {
                    colorCounter = colors.length - 1;
                }
            }
        };
        contentPane.addMouseWheelListener(listener);
    }

    public static void main(String args[]) {
        JFrame frame = new MouseWheelTest();
        frame.setSize(300, 300);
        frame.show();
    }
}