Java判断鼠标位置

chensiyu04 2008-02-26 11:55:57
现在有个Jfram分为4大块

我画一下
___________________________
|\ / |
| \ 块3 / |
| \ / |
| \ / |
| 块1\/ |
| /\ 块2 |
| / \ |
| / \ |
| / 块4 \ |
|/ \ |
___________________________

如何判断我鼠标是在块1里点击的??

块1是JFrame 块2也是同一个JFram

我就想在JFrame上 什么组件都没有的情况下。

来判断鼠标的坐标是在块1还是块2还是块3.还是块4

我晓得用数学函数.但是不会具体用。希望能代码能贴上来..
...全文
220 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsc1202001 2008-02-27
  • 打赏
  • 举报
回复
用线性规划来做 看我做的个JS例子

<style>
img{position:absolute;width:1px;height:1px;background:red}
</style>
<BODY>
<div style="position:absolute;width:302px;height:202px;border:1px solid red;background:#FFFFFF" onclick="getArea(event);">
<script>
for(var i=0;i<300;i++){
document.write("<img style='left:" + i + "px;top:" + Math.floor(i*200/300) + "px;'>")
document.write("<img style='left:" + i + "px;top:" + (200-Math.floor(i*200/300)) + "px;'>")
}
</script>
</div>
<script>
function getArea(e){
var width = 300;
var height = 200;
var x = e.offsetX;
var y = e.offsetY;
var line1 = width*y - height*x; //对角线1方程
var line2 = width*y + height*x - height*width; //对角线2方程

if(line1>0){
if(line2 > 0){
alert("下面区域");
}else if(line2 < 0){
alert("左面区域");
}
}
if(line1<0){
if(line2 > 0){
alert("右面区域");
}else if(line2 < 0){
alert("上面区域");
}
}
}
</script>
</BODY>
cljspn 2008-02-27
  • 打赏
  • 举报
回复
我觉得要结合鼠标事件来判断。
琴乐音 2008-02-27
  • 打赏
  • 举报
回复
有坐标 就是判断 点和直线的关系吧。
wuxo84 2008-02-27
  • 打赏
  • 举报
回复
我的方法的前提就是通过鼠标事件先获得了坐标
yami251139 2008-02-26
  • 打赏
  • 举报
回复
frame 的名字是不一樣的 大俠
wuxo84 2008-02-26
  • 打赏
  • 举报
回复
_____________________
¦\ | /¦
¦ \ | / ¦
¦ \ | / ¦
¦ \ | / ¦
¦---------\ /--------¦
¦ / \ ¦
¦ / | \ ¦
¦ / | \ ¦
¦ / | \ ¦
¦/ | \ ¦
_____________________
wuxo84 2008-02-26
  • 打赏
  • 举报
回复
假设开的是个200*200的JFrame,得到了坐标(20,20)
把你那个图分成八分,原有的基础上再过中间点画一个大十字!
那么就先判断横坐标,如果0-100肯定在左区,如果100-200肯定在右区;
之后判断纵坐标,如果0-100在上区,如果100-200在下区;
这样你在确定了左上、左下、右上、右下之后,再判断,1是横坐标大于纵坐标,2还是纵坐标大于横坐标,
比如这时候你在左上区域,如果第一种情况,说明在左上区的斜线右侧,否则在斜线左侧。
明白我的意思?
但我想的这个方法是假设你开的frame是个正方形啊。
供楼主参考
wuxo84 2008-02-26
  • 打赏
  • 举报
回复
他要的就是 判断坐标属于哪个区域的算法
insiku 2008-02-26
  • 打赏
  • 举报
回复
鼠标事件不是可以得到坐标?
得到坐标你不就能算出来再哪个块上?
chensiyu04 2008-02-26
  • 打赏
  • 举报
回复
晕...没人晓得?????
TT666 2008-02-26
  • 打赏
  • 举报
回复
楼上两为哥哥低调,低调
kunkunlili 2008-02-26
  • 打赏
  • 举报
回复
他说的是同一个jframe ,上面的兄弟

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧