java中的canvas类有什么作用?

Python021

java中的canvas类有什么作用?,第1张

Canvas 组件表示屏幕上一个空白矩形区域,应用程序可以在该区域内绘图,或者可以从该区域捕获用户的输入事件。

应用程序必须为 Canvas 类创建子类,以获得有用的功能(如创建自定义组件)。必须重写paint 方法,以便在 canvas 上执行自定义图形。

举例:

Panel.add(new MyCanvas())//往panel中添加画布canvas

class MyCanvas extends Canvas {//定义一个canvas

      public MyCanvas () {

         setBackground (Color.GRAY)//设置背景为灰色

         setSize(300, 300)//定义canvs大小是300*300

      }

      public void paint (Graphics g) {//画布的paint方法,

         Graphics2D g2

         g2 = (Graphics2D) g

         g2.drawString ("It is a custom canvas area", 70, 70)//屏幕输出该字符串

      }

   }

不是。java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。java容器有:ArrayList、LinkedList、Vector、HashSet、LinkedHashSet、TreeSet、LinkedHashMap、TreeMap、ConcurrentHashMap、Hashtable等等。canavas并不是Java的容器。

Canvas是一个父类,当你继承它、重写它的paint()方法时,你会用该方法中的Graphics来绘制任何你想绘制的内容,那么这个Canvas就有了内容。

后面无论你把这个Canvas添加到哪个容器中,那这个Canvas总会显示Graphics所绘制的图形。我觉得疯狂java讲义关于Canvas讲得比我更清楚,有兴趣可以去看看。