/**
*
*/
package com.github.cbpos1989.gui_tutorials;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Toolkit;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
* Class to demonstrate the use of MouseEvents. Different shapes are drawn onto the JPanel
* depending on what mouse button is pressed.
*
* @author Colm O'Sullivan
*
*/
public class SimpleStamper extends JPanel implements MouseListener {
/**
*
*/
private static final long serialVersionUID = 1L;
private Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
private int screenHeight = (int)screenSize.getHeight();
private int screenWidth = (int)screenSize.getWidth();
public SimpleStamper(){
setBackground(Color.BLACK);
addMouseListener(this);
}
/**
* @param args
*/
public static void main(String[] args) {
JFrame window = new JFrame("Simple Stamper");
SimpleStamper content = new SimpleStamper();
window.setContentPane(content);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setLocation((content.screenWidth/2) - 375, (content.screenHeight/2) - 234);
window.setSize(750,470);
window.setVisible(true);
}
/* (non-Javadoc)
* @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
*/
@Override
public void mouseClicked(MouseEvent evt) {}
/* (non-Javadoc)
* @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent)
*/
@Override
public void mouseEntered(MouseEvent evt) {}
/* (non-Javadoc)
* @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent)
*/
@Override
public void mouseExited(MouseEvent evt) {}
/* (non-Javadoc)
* @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent)
*/
@Override
public void mousePressed(MouseEvent evt) {
if (evt.isShiftDown()) {
repaint();
return;
}
int x = evt.getX();
int y = evt.getY();
Graphics g = getGraphics();
if (evt.isMetaDown()) {
g.setColor(Color.BLUE);
g.fillOval(x - 30, y - 15, 60, 30);
g.setColor(Color.BLACK);
g.drawOval(x - 30, y - 15, 60, 30);
} else {
g.setColor(Color.RED);
g.fillRect(x - 30, y - 15, 60, 30);
g.setColor(Color.BLACK);
g.drawRect(x - 30, y - 15, 60, 30);
}
g.dispose();
}
/* (non-Javadoc)
* @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent)
*/
@Override
public void mouseReleased(MouseEvent evt) {}
}