/*
* $Id$
*
* Copyright (C) 2003-2015 JNode.org
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* This library 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 Lesser General Public
* License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this library; If not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
package org.jnode.test.gui;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Label;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.event.MouseWheelEvent;
import java.awt.event.MouseWheelListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
/**
* @author Levente S\u00e1ntha
*/
public class MouseEventTest {
public static void main(String[] argv) {
final Frame f = new Frame("Mouse event test");
f.add(createLabel("WEST", Color.GREEN, true), BorderLayout.WEST);
f.add(createLabel("EAST", Color.BLUE, true), BorderLayout.EAST);
f.add(createLabel("NORTH", Color.RED, true), BorderLayout.NORTH);
f.add(createLabel("CENTER", Color.WHITE, true), BorderLayout.CENTER);
//f.add(createLabel("SOUTH", Color.MAGENTA, true), BorderLayout.SOUTH);
JTextArea jta = new JTextArea("SOUTH\nThis is a\nscrollable textarea.\nUse mouse wheel\nto see all the text\n");
f.add(new JScrollPane(jta), BorderLayout.CENTER);
f.setSize(300, 300);
f.setLocation(0, 0);
f.validate();
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
f.dispose();
}
});
f.setVisible(true);
}
private static Label createLabel(String name, Color color, boolean withListeners) {
Label label = new Label(name);
label.setAlignment(Label.CENTER);
label.setName(name);
label.setBackground(color);
if (withListeners) {
label.addMouseListener(new MouseListener() {
public void mouseClicked(MouseEvent event) {
printEvent(event);
}
public void mousePressed(MouseEvent event) {
printEvent(event);
}
public void mouseReleased(MouseEvent event) {
printEvent(event);
}
public void mouseEntered(MouseEvent event) {
printEvent(event);
}
public void mouseExited(MouseEvent event) {
printEvent(event);
}
});
label.addMouseMotionListener(new MouseMotionListener() {
public void mouseDragged(MouseEvent event) {
printEvent(event);
}
public void mouseMoved(MouseEvent event) {
printEvent(event);
}
});
label.addMouseWheelListener(new MouseWheelListener() {
public void mouseWheelMoved(MouseWheelEvent event) {
printEvent(event);
}
});
}
return label;
}
private static void printEvent(MouseEvent event) {
System.out.println(event);
}
}