Java MouseListener创建一个没有JButton的Button

时间:2015-01-03 16:28:05

标签: java mouselistener

我想为我的迷你游戏创建一个暂停屏幕。为此,按esc按钮,将出现一个带有按钮的图片:Resume,Options和Exit。在我的MouseInput类中,是mousePressed方法。我只想要,如果我按下按钮位置的鼠标,就会发生这种情况。我已经做了一半,但我不知道其余的。该方法现在只使用盒子的一角。(对不起,如果我的英语不好)

菜单应如下所示(来自"游戏"的截图) http://puu.sh/e1b6v/79682e61f4.PNG

enter image description here

package de.dragonbone.rpg.input;

import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class MouseInput implements MouseListener {

int mx;
int my;

@Override
public void mouseClicked(MouseEvent arg0) {

}

@Override
public void mouseEntered(MouseEvent arg0) {

}

@Override
public void mouseExited(MouseEvent arg0) {

}

@Override
public void mousePressed(MouseEvent e) {
    mx = e.getX();
    my = e.getY();

    if (mx == 154 && my == 160) {
        System.out.println("Resume");
    }

    System.out.println("X= " + mx + "  Y= " + my);
}

@Override
public void mouseReleased(MouseEvent arg0) {

}

}

2 个答案:

答案 0 :(得分:1)

该位置应该是一个范围而不是一个点。

范围示例:

if (mx >= 154 || mx<=200 && my >= 160 && my<= 200) {
    System.out.println("Resume");
}

答案 1 :(得分:0)

您必须在按钮上添加mouselistener。

class MyMouseListener extends MouseAdapter
{
     @Override
     public void mousePressed(MouseEvent me)
     {
        JButton jb=(JButton)me.getSource();
        String str=jb.getActionCommand();
        if(str.equals("Resume"))
          System.out.println("Resumed");
        .....
        .....
     }
}
JButton resume=new JButton("Resume");
resume.addMouseListener(new MyMouseListener());