gpt4 book ai didi

java - 如何让绘制的对象(g.draw(...))响应鼠标事件?

转载 作者:行者123 更新时间:2023-12-01 16:07:17 25 4
gpt4 key购买 nike

我有一个程序,它在 JFrame 中绘制条形图。当我单击条形图时,条形图的条形会改变颜色。所以我的问题是解决这个问题的最佳方法是什么?暴力方式,即计算鼠标单击并查看它是否落在条形范围内,或者扩展 BufferedImage 类并让它实现 mouselistener?因为如果我要创建一个扩展 jpanel 的类并重写其 PaintComponent 方法,它肯定无法有效运行。条形图的条形图也将具有动画效果,因为值将被输入到程序中并且图表会一直更新。

最佳答案

我个人会选择“监听整个组件的点击并找出点击落在哪个栏上”。这应该不难做到 - 只需除法来找出哪个条,然后进行边界检查以确定特定条是否足够长以绘制该点。

引入“每个栏一个控件”感觉像是在正确布局等方面带来麻烦的秘诀。我确信它可以完成 - 而且我确信那些具有更多 GUI 经验的人在布局方面的麻烦比我少 - 但我强烈怀疑它会做更多的工作。

关于java - 如何让绘制的对象(g.draw(...))响应鼠标事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2361462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com