图形元素上的Java MouseListener
我想将MouseStener添加到这个图形元素中图形元素上的Java MouseListener,java,Java,我想将MouseStener添加到这个图形元素中 g.drawString("String",50,50); 有没有什么简单的方法可以做到这一点,或者我必须手动查找元素位置 谢谢你的建议: 要移动字符串,可以将其放入JLabel中,然后通过鼠标侦听器移动JLabel 或者,您可以使用MouseListener/MouseMotionListener简单地移动绘制的字符串,即在paintComponent方法中绘制的字符串,但是您仍然需要识别何时单击了该字符串,这对于JLabel来说要容易得多
g.drawString("String",50,50);
有没有什么简单的方法可以做到这一点,或者我必须手动查找元素位置
谢谢你的建议:
- 要移动字符串,可以将其放入JLabel中,然后通过鼠标侦听器移动JLabel李>
- 或者,您可以使用MouseListener/MouseMotionListener简单地移动绘制的字符串,即在paintComponent方法中绘制的字符串,但是您仍然需要识别何时单击了该字符串,这对于JLabel来说要容易得多
- 要移动图形,如果它是图像,可以使用它创建一个图像图标,将其放入JLabel中,并使用上面的字符串/JLabel执行相同的操作
- 或者您可以在paintComponent方法中将其绘制为BuffereImage精灵,并通过MouseAdapter在paintComponent方法中移动其绘制位置,但同样,困难的部分将是在鼠标单击它时识别。既然你知道它的尺寸和位置,这应该不难做到
- 或者,如果是Graphics2D图形,则可以创建一个图形实现对象,并移动该图形
public void mouseEntered(MouseEvent e) {
saySomething("Mouse entered", e);
}
public void mouseExited(MouseEvent e) {
saySomething("Mouse exited", e);
}