Canvas
A Canvas is a class just waiting to be subclassed. Through Canvas, you can create additional AWT objects that are not provided by the base classes. Canvas is also useful as a drawing area, particularly when additional components are on the screen. It is tempting to draw directly onto a Container, but this often isn't a good idea. Anything you draw might disappear underneath the components you add to the container. When you are drawing on a container, you are essentially drawing on the background. The container's layout manager doesn't know anything about what you have drawn and won't arrange components with your artwork in mind. To be safe, do your drawing onto a Canvas and place that Canvas in a Container.
Canvas Methods
Constructors- public Canvas ()
- The constructor creates a new
Canvaswith no default size. If you place the canvas in a container, the container's layout manager sizes the canvas for you. If you aren't placing the canvas in a container, callsetBounds()to specify the canvas's size.Java 1.0 used the default constructor for
Canvas; there was no explicit constructor.
- public void paint (Graphics g)
- The default implementation of the
paint()method colors the entireCanvaswith the current background color. When you subclass this method, yourpaint()method needs to draw whatever should be shown on the canvas. - public synchronized void addNotify ()
- The
addNotify()method creates theCanvaspeer. If you override this method, first callsuper.addNotify(), then add your customizations. Then you can do everything you need with the information about the newly created peer.
Canvas Events
The Canvas peer passes all events to you, which is why it's well suited to creating your own components.