Agreed. But types on method signatures should be enough. Best practices recommend short methods so you won't "forget" the type and the editor will soon be "smart" enough to provide proper code completion.
Stuff like CanvasElement canvas = new CanvasElement() is one of the things i dislike in Java, it's too verbose and you're already saying that canvas is a CanvasElement.