求救:我这个程序怎么扑捉不到鼠标事件 根本就没有任何组件注册鼠标事件监听器啊,如果是监听frame的鼠标事件则this.addMouseListener(this);事件的事件源必须是Component的子类 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上正解,没有注册鼠标监听器。还有,楼主你实现这么多方法干什么,直接用MouseAdapter不是更方便? import java.lang.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class drag extends JFrame implements MouseListener, MouseMotionListener{ private static int xs, ys, xe, ye;private static boolean rechteck;public drag(){super("new"); rechteck=false;addMouseListener(this); //监听鼠标事件addMouseMotionListener(this); //监听鼠标动作事件setSize(300,300);setVisible(true); }public void paint(Graphics g){super.paint(g);g.setColor(Color.red);int xs=20;if(rechteck){if (xs < xe){if (ys < ye) g.drawRect(xs, ys, (xe - xs), (ye - ys));else g.drawRect(xs, ye, (xe - xs), (ys - ye));}else{if (ys < ye) g.drawRect(xe, ys, (xs - xe), (ye - ys));else g.drawRect(xe, ye, (xs - xe), (ys - ye));}}}public void mousePressed(MouseEvent e) {e.consume();xs = e.getX();ys = e.getY();}public void mouseReleased(MouseEvent e){e.consume();rechteck = false;repaint();}public void mouseEntered(MouseEvent e){}public void mouseExited(MouseEvent e){}public void mouseClicked(MouseEvent e) {}public void mouseDragged(MouseEvent e){e.consume();xe = e.getX();ye = e.getY();rechteck=true;repaint();}public void mouseMoved(MouseEvent e){}public static void main(String args[]){ drag mta=new drag(); mta.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); }} 汉诺塔问题的进一步设计 关于sql语句插入的问题 有没有常用汉字的编码范围啊 java值传递问题 《急切求助》为什么我的JSP文件连接不上MSSQL??? 请大家帮我一下,非常头疼的问题!AWT的异常 急求?100分在线等 问一个有关this static 内部类 和作用域的问题 相关与时间类的问题 有没有人用java编过加密算法??? 关于jxl读取excel文件的问题,在线等待...... 如何得到系统时间
还有,楼主你实现这么多方法干什么,直接用MouseAdapter不是更方便?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class drag extends JFrame implements MouseListener, MouseMotionListener
{
private static int xs, ys, xe, ye;
private static boolean rechteck;
public drag(){
super("new");
rechteck=false;
addMouseListener(this); //监听鼠标事件
addMouseMotionListener(this); //监听鼠标动作事件
setSize(300,300);
setVisible(true);
}
public void paint(Graphics g)
{
super.paint(g);
g.setColor(Color.red);
int xs=20;
if(rechteck){
if (xs < xe)
{
if (ys < ye) g.drawRect(xs, ys, (xe - xs), (ye - ys));
else g.drawRect(xs, ye, (xe - xs), (ys - ye));
}
else
{
if (ys < ye) g.drawRect(xe, ys, (xs - xe), (ye - ys));
else g.drawRect(xe, ye, (xs - xe), (ys - ye));
}}
}
public void mousePressed(MouseEvent e)
{
e.consume();
xs = e.getX();
ys = e.getY();
}
public void mouseReleased(MouseEvent e)
{
e.consume();
rechteck = false;
repaint();
}
public void mouseEntered(MouseEvent e)
{
}
public void mouseExited(MouseEvent e)
{
}
public void mouseClicked(MouseEvent e)
{
}
public void mouseDragged(MouseEvent e)
{
e.consume();
xe = e.getX();
ye = e.getY();
rechteck=true;
repaint();
}
public void mouseMoved(MouseEvent e)
{
}
public static void main(String args[])
{
drag mta=new drag();
mta.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
}