鼠标一到按钮区域,按钮就移走,就是怎么点也点不着。
请问这样该怎么实现啊 在线等

解决方案 »

  1.   

    import java.awt.Dimension;
    import java.awt.Insets;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.awt.event.MouseMotionListener;import javax.swing.JButton;
    import javax.swing.JFrame;public class JumpingBt extends JFrame implements MouseListener,
    MouseMotionListener { private int mx, my;
    private Dimension size;
    private JButton bt; public JumpingBt() {
    setSize(500, 500);
    size = getSize();
    setResizable(false);
    setLayout(null); bt = new JButton("点不着!");
    bt.setMargin(new Insets(0,0,0,0));
    bt.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e) {
    System.out.println("哎呀,被点着了...");
    }
    });
    bt.setBounds(200, 200, 50, 20);
    add(bt);
    addMouseListener(this);
    addMouseMotionListener(this);
    } public void update() {
    // Calculate new position
    mx = (int) (Math.random() * 1000) % (size.width - (size.width / 10));
    my = (int) (Math.random() * 1000) % (size.height - (size.height / 10));
    bt.setLocation(mx, my);
    } public void mouseDragged(MouseEvent e) {

    } public void mouseMoved(MouseEvent e) {
    e.consume();
    if ((e.getX() % 3 == 0) && (e.getY() % 3 == 0)) {
    update();
    }
    } public void mousePressed(MouseEvent e) { } public void mouseReleased(MouseEvent e) {
    } public void mouseEntered(MouseEvent e) {
    update();
    } public void mouseExited(MouseEvent e) {
    update();
    } public void mouseClicked(MouseEvent e) {
    } public static void main(String[] args) {
    JumpingBt frame = new JumpingBt();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
    }
    }