如何获得JButton的相对位置?

chuanyi 2006-07-17 08:59:58
Frame中使用的是GridLayout,点击一个按钮,就会摊出来一个菜单,我用mouselistener实现,可是
me.getx(),me.gety()时,弹出菜单跑到左上角去了,为什么不是鼠标点击的位置?那要如何实现?
我用过绝对定位(300,100)就可以,但这样不好,我还是想用灵活点的方法,请赐教
...全文
413 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
fool_leave 2006-12-21
  • 打赏
  • 举报
回复
哈哈,这个帖子结分真有意思呀
KK103 2006-12-21
  • 打赏
  • 举报
回复
转型后再调用方法试试看
chuanyi 2006-12-21
  • 打赏
  • 举报
回复
ding
chuanyi 2006-07-18
  • 打赏
  • 举报
回复
没人知道吗?
wenqin2006 2006-07-18
  • 打赏
  • 举报
回复
大侠!请息怒!我刚才是在网吧上网。所以没有调试的嘛!再说他这个还不是自己的一些想法。要是真的能行的话。会对编辑GUI有很大作用啥!难道你搞了的行了嘛!
  • 打赏
  • 举报
回复
真晕了。难道只要结果。剩下的事就是进行加减乘除了。还要写出来。再把按钮的的相对位置的x,y与现在的点击的相对位置进行加减乘除就得到难道这个也不会计算?
wenqin2006 2006-07-18
  • 打赏
  • 举报
回复
你们调试没有。是这样的嘛。我也遇到个这个问题。也不知道是什么原因。那位能说一哈结果吗
trumplet 2006-07-18
  • 打赏
  • 举报
回复
如果是给按钮添加监听器,得到的Point是按钮内部的点,可能要进行坐标转换,画到jframe里,要不然,按钮的小空间里边画不下。再不行,就要等高手出现了。
trumplet 2006-07-18
  • 打赏
  • 举报
回复
MouseEvent.getPoint()

返回事件相对于源组件的 x、y 位置。
-----------------------------
给JFrame添加事件:
addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
formMouseClicked(evt);
}
});

jframe事件处理:
private void formMouseClicked(java.awt.event.MouseEvent evt) {
// TODO 将在此处添加您的处理代码:
int x = evt.getPoint().x;
int y = evt.getPoint().y;
jLabel1.setText(" " + x + " " + y);

Graphics g = this.getGraphics();
g.drawRect(x,y,20,20);
}
chuanyi 2006-07-18
  • 打赏
  • 举报
回复
有人吗??
chuanyi 2006-07-17
  • 打赏
  • 举报
回复
楼上几位的意见,都不对啊,获得的始终是Button的位置,而Button不在左上角
Button在右下角,得到的坐标也会跑到左上角去,我要的是相对位置
  • 打赏
  • 举报
回复
MouseEventListener的参数MouseEvent e,e.getX(),e.getY()
trumplet 2006-07-17
  • 打赏
  • 举报
回复
那两个方法,取得的是左上角的x、y
chuanyi 2006-07-17
  • 打赏
  • 举报
回复
不行啊,都不知道偏到那里去了
trumplet 2006-07-17
  • 打赏
  • 举报
回复
还有

jButton1.getLocationOnScreen().x
trumplet 2006-07-17
  • 打赏
  • 举报
回复
jButton1.getLocation().x
chuanyi 2006-07-17
  • 打赏
  • 举报
回复
CSND 没有高手了吗?
chuanyi 2006-07-17
  • 打赏
  • 举报
回复
顶一下

62,614

社区成员

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

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