要能够区别的 判断  及时的判断   比如在两个不同的 控件上,从第一个空间按右键托到第2个控件上也不会有bug

解决方案 »

  1.   

    我这里有个例子希望对你有所帮助!
    小弟初到贵地:希望楼主给分!import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class MouseDetails extends JFrame
    {
    private int xPos,yPos;
    public MouseDetails()
    {
             super("Mouse clicks and buttons");
    this.addMouseListener(new MouseClickHandler());
    this.setSize(500,350);
    this.setVisible(true);
    }
    public void paint(Graphics g)
    {
    super.paint(g);
    g.drawString("Clicked @ ["+xPos+","+yPos+"]",xPos,yPos);
    }
    public static void main(String args[])
    {
    MouseDetails application=new MouseDetails();
    application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    private class MouseClickHandler extends MouseAdapter
    {
    public void mouseClicked(MouseEvent e)
    {
    xPos=e.getX();
    yPos=e.getY();
    //返回单击的次数
    String title="Clicked"+e.getClickCount()+"time(s)";
    if(e.isMetaDown())
                   title+="with right mouse button"; //用户单击鼠标右键时返回真
    else if(e.isAltDown())
    title+="with center mouse button"; //用户单击鼠标中键时返回真
    else 
    title+="with left mouse button";
    setTitle(title);
    repaint();
    } }
    }
      

  2.   

    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    public class c1 extends JFrame implements MouseListener
    {
    public static void main(String args[])
    {
    c1 frame=new c1();
    }
    int px,py,px2,py2;
    JLabel lb1;
    JButton bu1;
    public c1()
    {
    super("c1");
    Container c=getContentPane();
    c.setLayout(null);
    lb1=new JLabel("鼠标状态");
    lb1.setFont(new Font("宋体",Font.BOLD,20));
    lb1.setSize(200,28);
    lb1.setLocation(10,10);
    c.add(lb1);
    bu1=new JButton("鼠标按键区");
    bu1.setSize(100,100);
    bu1.setLocation(100,100);
    bu1.addMouseListener(this);
    c.add(bu1);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(500,400);
    setVisible(true);
    }
    public void mousePressed(MouseEvent e){}
    public void mouseReleased(MouseEvent e){}
    public void mouseEntered(MouseEvent e){}
    public void mouseExited(MouseEvent e){}
    public void mouseClicked(MouseEvent e)
    {
    if(e.getModifiers()==InputEvent.BUTTON1_MASK)
    {
    lb1.setText("按了一下左键");
    }
    if(e.getModifiers()==InputEvent.BUTTON3_MASK)
    {
    lb1.setText("按了一下右键");
    }
    }
    }
      

  3.   

    请: zhaohao19853(贱人) 
          写个示范谢谢!!!!!!!!!!!!!!!!!!!