📄 mymousehandler.java
字号:
import java.awt.Cursor;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import javax.swing.JComponent;
import javax.swing.TransferHandler;
/*
* Created on 1/07/2006
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
/**
* @author Xuesong Le
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class MyMouseHandler implements MouseListener, MouseMotionListener
{
MyPicComponent
picComp = null;
private
MouseEvent
firstMouseEvent = null;
public MyMouseHandler(MyPicComponent picComp)
{
this.picComp = picComp;
}
/* (non-Javadoc)
* @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
*/
public void mouseClicked(MouseEvent e)
{
// TODO Get Focus
picComp.requestFocusInWindow();
}
/* (non-Javadoc)
* @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent)
*/
public void mousePressed(MouseEvent arg0)
{
// Get First MouseEvent if the image is not null;
if( picComp.getImage()!= null)
{
//Make the First MouseEvent
firstMouseEvent = arg0;
//Consumes this event so that it will not be processed in the default manner
//by the source which originated it.
arg0.consume();
}
else
{
// Drag command will not proceed
return;
}
}
/* (non-Javadoc)
* @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent)
*/
public void mouseReleased(MouseEvent arg0)
{
// TODO Clear First MouseEvent
firstMouseEvent = null;
}
/* (non-Javadoc)
* @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent)
*/
public void mouseEntered(MouseEvent arg0)
{
// TODO Auto-generated method stub
picComp.setCursor(new Cursor(Cursor.HAND_CURSOR ));
}
/* (non-Javadoc)
* @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent)
*/
public void mouseExited(MouseEvent arg0)
{
// TODO Auto-generated method stub
picComp.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
}
/* (non-Javadoc)
* @see java.awt.event.MouseMotionListener#mouseDragged(java.awt.event.MouseEvent)
*/
public void mouseDragged(MouseEvent arg0)
{
// TODO Auto-generated method stub
if(firstMouseEvent != null) // Image Does exist
{
// Get Action Type Copy or Move
int
ctrMask = MouseEvent.CTRL_MASK,
nAction = ( (arg0.getModifiersEx()& ctrMask) == ctrMask) ?
TransferHandler.COPY: TransferHandler.MOVE;
// Check dx or dx is greater than 5 pixels or not
int
dx = Math.abs(arg0.getX()-firstMouseEvent.getX()),
dy = Math.abs(arg0.getY()-firstMouseEvent.getY());
if( dx > 5 || dy > 5 )
{
//Tell the transfer handler to initiate the drag.
TransferHandler
t = picComp.getTransferHandler();
t.exportAsDrag(picComp,arg0,nAction);
// Clear FirstMouseEvent
firstMouseEvent = null;
}
}
}
/* (non-Javadoc)
* @see java.awt.event.MouseMotionListener#mouseMoved(java.awt.event.MouseEvent)
*/
public void mouseMoved(MouseEvent arg0)
{
// TODO Auto-generated method stub
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -