java中SWT鼠标单击事件监听器

2025-03-22 17:53:40
推荐回答(2个)
回答1:

package test;

import java.awt.Frame;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class Csk extends Frame
{
private static final long serialVersionUID = 1L;

public static void main ( String[] args )
{
Csk csk = new Csk ();
csk.setTitle ("Csk");
csk.addMouseListener (new MouseAdapter ()
{
@Override
public void mousePressed ( MouseEvent e )
{
System.out.println ("down");
}

@Override
public void mouseReleased ( MouseEvent e )
{
System.out.println ("up");
}
});
csk.addWindowListener (new WindowAdapter ()
{
@Override
public void windowClosing ( WindowEvent e )
{
System.exit (0);
}
});
csk.setSize (399, 399);
csk.setLocationRelativeTo (null);
csk.setVisible (true);
}
}

回答2:

为什么不能满足?

mouseUp就是按下之后被释放,mouseDown是按下去还没有释放。
你可以结合Control的bound和location来计算按下和释放时的位置来确定是否进行必要的事件处理。