gpt4 book ai didi

图形元素上的 Java MouseListener

转载 作者:行者123 更新时间:2023-11-29 05:12:12 27 4
gpt4 key购买 nike

g.drawString("String",50,50);

我想将 MouseListener 添加到此图形元素。

public void mouseEntered(MouseEvent e) {
saySomething("Mouse entered", e);
}

public void mouseExited(MouseEvent e) {
saySomething("Mouse exited", e);
}

有什么简单的方法可以做到这一点,或者我已经手动找到元素位置?

谢谢

最佳答案

建议:

  • 要四处移动字符串,您可以将它放入 JLabel 中,然后通过 MouseListener 移动 JLabel。
  • 或者,您可以使用 MouseListener/MouseMotionListener 简单地移动绘制的字符串,一个在 paintComponent 方法中绘制的字符串,但是您仍然需要识别字符串何时被单击,这更容易使用一个 JLabel。
  • 要移动图形,如果它是图像,您可以用它创建一个 ImageIcon,将它放入 JLabel 中,然后执行与上面的 String/JLabel 相同的操作。
  • 或者您可以在您的 paintComponent 方法中将其绘制为 BufferedImage Sprite ,并通过您的 MouseAdapter 在 paintComponent 方法中移动它的绘制位置,但同样,困难的部分将是识别鼠标何时单击它。既然您知道它的尺寸和位置,这应该不难做到。
  • 或者如果它是 Graphics2D 绘图,您可以创建一个 Shape 实现对象,然后移动该 Shape。

例如,请在下面的链接中使用示例代码查看我之前的回答:

关于图形元素上的 Java MouseListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28034952/

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