重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
因为你最后写的paint方法是JFrame 的,而不是Canvas的。应该自己写个继承Canvas的类,然后重构paint方法,然后在鼠标事件里调用Canvas对象的paint方法。
海城网站建设公司创新互联建站,海城网站设计制作,有大型网站制作公司丰富经验。已为海城上千余家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的海城做网站的公司定做!
一段java程序,求高手帮我写个画图程序,急。。 要有画笔,橡皮,画直线,画椭圆,画矩形,撤销,恢复,修改颜色这些功能,灰常感谢,不要用太复杂的程序,好的话有加分。。
简单啊,先引入相应的组件包 import java.awt.*;import java.awt.event.*;import javax.swing.*;写的类要继承JFrame 接下来就是调用刚刚引入包里面的方法了,paint();这是就思路了。
用一个集合,把绘制过的全记录下来,在paint事件中重绘。。
首先,手动画一个小乌龟,如下:然后,按照Java绘图基本步骤一步步来。
可以实现一个Paintable接口 interface Paintable{ public void paint(Graphics g);} 然后在主类上挂一个Paintable的数组,比如private VectorPaintable drawings;每鼠标点击一次,就往drawings里面添加一个Paintable对象。
public class fs extends JFrame { public static void main(String args[]) { Demo myDemo=new Demo();} } fs类为啥也继承JFrame类, Demo类继承JFrame类了,Demo就是一个JFrame了,赶脚怪怪的。
首先,如果你只是要实现电子时钟,根本就不需要用到多线程。如果你真的是要使用,就新建一个类,实现Runnable接口就是了。
1、这个方法需要注意的地方不多,也就是重写时,先调用 super.paint(g) 方法\x0d\x0apaint方法不需要编写代码调用,只需要重写。\x0d\x0a其他看jdk帮助中就行了。
2、这个方法需要注意的地方不多,也就是重写时,先调用 super.paint(g) 方法 。paint方法不需要编写代码调用,只需要重写。paint 。public void paint(Graphics g)绘制容器。
3、paint() 是在Container类中的. 每当容器更新(调用repaint方法) repaint()方法调用update()然后update()方法就会调用paint()方法。java是这么设计的这么设计可以实现双缓冲。至于这个你现在不用理解。
4、parint里不要直接绘制图形,把图形放在一个list里面,paint方法遍历这个list,绘制里面的图形。根据用户的行为,往这个list里面增加图形,每次修改list的内容,就调用repaint方法。
5、super.paint()的作用是把当前的区域清空,每次resize的时候就会自动调用paint()方法,paint()方法里先调用了super.paint()清空当前区域,再画一个矩型筐,当然每次只有一个了。