在JAVA中重绘Applet而不会丢失以前的内容
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在JAVA中重绘Applet而不会丢失以前的内容,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1032字,纯文字阅读大概需要2分钟。
内容图文
是否可以在不丢失其先前内容的情况下重新绘制applet?我只是想制作一个程序,允许用户使用鼠标绘制线条,矩形等.我使用了重绘方法,但它没有保留先前绘制的线条/矩形等.
这是片段:
public void mousePressed(MouseEvent e){x1=e.getX();y1=e.getY();}
public void mouseDragged(MouseEvent e)
{
x2=e.getX();
y2=e.getY();
repaint();
showStatus("Start Point: "+x1+", "+y1+" End Point: "+x2+", "+y2);
}
public void paint(Graphics g)
{
//g.drawLine(x1,y1,x2,y2);
g.drawRect(x1, y1, x2-x1, y2-y1);
}
解决方法:
两种可能的解决方
>使用通过getGraphics()从它获得的Graphics对象绘制到BufferedImage,然后在JPanel的paintComponent(Graphics g)方法中绘制BufferedImage.要么
>创建一个ArrayList< Point>将鼠标点放入List,然后在JPanel的paintComponent(Graphics g)方法中,使用for循环遍历List,绘制所有点,或者有时更好 – 连接连续点的线.
其他重要建议:
>确保您使用的是Swing库(JApplet,JPanel),而不是AWT(Applet,Panel,Canvas).
>如果可能的话,最好避免使用applet.
>不要绘制绘画方法,而是绘制JPanel的paintComponent(Graphics g)方法.
>不要忘记在paintComponent(Graphics g)方法覆盖中首先调用super的方法.
内容总结
以上是互联网集市为您收集整理的在JAVA中重绘Applet而不会丢失以前的内容全部内容,希望文章能够帮你解决在JAVA中重绘Applet而不会丢失以前的内容所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。