【问题标题】:Java - Getting screen position of buffered imageJava - 获取缓冲图像的屏幕位置
【发布时间】:2014-08-05 01:24:06
【问题描述】:

我正在处理一些代码,其中滚动条中有一些缓冲图像。当我点击其中一张图片时,我想在图片周围画一个矩形来表示该图片已被选中。

我的问题是因为我的面板是可滚动的,所以绘制时设置的图像位置不一定是实际的屏幕位置。因此,当单击鼠标时,光标位置的点不会与持有实际图像的对象的任何位置属性(x、y、高度和宽度)相交。

有人知道如何获取图像相对于屏幕而不是面板的实际位置吗? 到目前为止,我还没有在网上找到任何解决方案。

谢谢。

【问题讨论】:

    标签: java position screen bufferedimage


    【解决方案1】:

    您可以使用SwingUtilities.convertPoint(...) 方法。

    我猜你需要将鼠标点转换为滚动窗格视口的坐标。

    也许更简单的方法是将 JList 与自定义渲染器一起使用。您可以将 JList 设置为水平包装组件。然后在您的自定义渲染器中,您只需为所选项目添加一个边框。阅读 How to Use Lists 上的 Swing 教程部分,了解更多信息和示例。

    【讨论】:

    • +1 我只能使用带有渲染器的JList。 :-) 可能比自己管理选择、转换、绘画等容易得多。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-31
    • 1970-01-01
    • 1970-01-01
    • 2020-03-30
    • 1970-01-01
    • 2013-04-14
    • 1970-01-01
    相关资源
    最近更新 更多