在JPanel上画线 [英] Drawing Lines on JPanel

查看:190
本文介绍了在JPanel上画线的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



它应该像在MSPaint中一样工作.拖动鼠标时,该行应跟随鼠标.

我所做的是:

Hi,

It should work like in MSPaint. The line should follow the mouse as the mouse is dragged.

What I did is:

private int xBegin;
private int yBegin;

private void drawPanelMousePressed(java.awt.event.MouseEvent evt)
{
     xBegin = evt.getX();
     yBegin = evt.getY();
}

private void drawPanelMouseDragged(java.awt.event.MouseEvent evt) {
       Graphics g = drawPanel.getGraphics()
       g.drawLine(xBegin, yBegin, evt.getX(), evt.getY());
       drawPanel.paintComponents(g);    
}



问题是:随着鼠标的拖动,它会绘制新的线条.不知何故,我应该记得在按下鼠标之前的原始图形.在mousePress期间添加字段并对其进行初始化不起作用.可能我必须克隆Graphics对象.我怎样才能做到这一点?还是有更简单的方法?



The problem is: It draws new lines as mouse is dragged. Somehow I should remember the original graphics before mouse is pressed. Adding a field and initializing it during mousePress did not work. Probably I have to clone the Graphics object. How can I do that? Or are there any easier ways?

mygraphics.create() method did not work either.

推荐答案

检查此代码,这类似于用Java编写的痛苦程序. SimplePaint [
Check this code, this is Pain like program written in Java. SimplePaint[^]


这篇关于在JPanel上画线的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆