如题,为了大牛方便理解我的意思,专门简化了一下不必要的代码贴在了下面,求解决啊packagetest;importjava.awt.Frame;importjava.awt.event.MouseAdapter;importjava.awt.event.Mous...
如题,为了大牛方便理解我的意思,专门简化了一下不必要的代码贴在了下面,求解决啊
package test;
import java.awt.Frame;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Main extends Frame
{
/**
* 标记窗体是否被按下
*/
private boolean mainIsPressed;
/**
* 构造方法创建一个窗体
*/
public Main()
{
super("java程序测试");
this.setBounds(200,200,200,200);
this.setVisible(true);//可见
this.setResizable(false);//可调整大小
this.addWindowListener(//关闭监听事件
new WindowAdapter()//匿名内部类
{
@Override
public void windowClosing(WindowEvent e)
{
System.exit(0);//退出
}
}
);
this.addMouseListener(
new MouseAdapter()
{
@Override
public void mousePressed(MouseEvent e)//鼠标按下时间监听
{
mainIsPressed=true;
}
@Override
public void mouseReleased(MouseEvent e)//鼠标释放时间监听
{
mainIsPressed=false;
}
}
);
this.addMouseMotionListener(
new MouseMotionAdapter()
{
@Override
public void mouseMoved(MouseEvent e)//鼠标移动时间监听
{
System.out.println("鼠标移动");//这里就有问题了,当鼠标按下的时候根本就不输出鼠标移动
if(mainIsPressed==true)
{
System.out.println("同时按下和移动鼠标");
}
}
}
);
}
/**
* 程序入口点
* @param args
*/
public static void main(String[] args)
{
System.out.println("=======开始========");
Main frame = new Main();
}
}
展开