黑马程序员技术交流社区
标题:
关于鼠标监听的问题
[打印本页]
作者:
越雪
时间:
2017-4-12 22:37
标题:
关于鼠标监听的问题
使用一个 鼠标监听之后, 在一定的时候如何不再监听了?
package com.game;
import java.awt.Color;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import com.itheima.game.GameEngine;
import com.itheima.game.HeimaAbstractWorld;
public class Game extends HeimaAbstractWorld {
@Override
public void logic() {
GameEngine.setGameBackGround("背景.jpg");
GameEngine.setGameSize(800, 400);
GameEngine.createText("1", "开始游戏");
GameEngine.setTextPosition("1", 300, 200);
GameEngine.setTextColor("1", Color.red);
GameEngine.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("鼠标点击了无效区域");
int x = e.getX();
int y = e.getY();
if (x >= 300 && x <= 420 && y >= 202 && y <= 230) {
// x: 300-420 y:202-230
if(GameEngine.showConfirmDialog("前方困难重重, 少侠是否要接受挑战?")){
String name=GameEngine.showInputDialog("张三", "请输入少侠的大名");
GameEngine.showMessageDialog("欢迎"+name+"英雄加入挑战,游戏开始");
GameEngine.clear();
GameEngine.setGameBackGround("背景2.jpg");
}else{
GameEngine.showMessageDialog("您即将退出游戏");
try {
Thread.sleep(500);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
GameEngine.exit();
}
}
}
});
GameEngine.setMinRunningTime(60000);
}
}
比如以上代码,当切换到背景2的时候,虽然已经把之前的文字框都清楚了,但是鼠标点击任意位置还是会被监听到
点击一般位置 输出台会打印 "点击了无效区域"
如果点击的位置恰好在文本区域内(虽然已经看不到了) 但是还是会出现对话框
这个bug怎么处理??? 求大神解决
作者:
闪光的stone
时间:
2017-4-14 08:14
。。。。。
作者:
chengfw
时间:
2017-4-17 14:41
哥们 有坦克大战源码么 有个小问题卡住了谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2