Desktop Java

GWT and HTML5 Canvas Demo

This is my first experiment with GWT and HTML5 Canvas. My first attempt is to create rectangles, with just a few lines of code I came up something like this:

Code:

 

public class GwtHtml5 implements EntryPoint {
 
 static final String canvasHolderId = "canvasholder";
 static final String unsupportedBrowser = "Your browser does not support the HTML5 Canvas";
 static final int height = 400;
 static final int width = 500;
 final CssColor colorRed = CssColor.make("red");
 final CssColor colorGreen = CssColor.make("green");
 final CssColor colorBlue = CssColor.make("blue");
 Canvas canvas;
 Context2d context;
 
 
 public void onModuleLoad() {
  canvas = Canvas.createIfSupported();
  if (canvas == null) {
        RootPanel.get(canvasHolderId).add(new Label(unsupportedBrowser));
        return;
  }
  createCanvas();
 }
 
 private void createCanvas(){
  
     canvas.setWidth(width + "px");
     canvas.setHeight(height + "px");
     canvas.setCoordinateSpaceWidth(width);
     canvas.setCoordinateSpaceHeight(height);
     
     RootPanel.get(canvasHolderId).add(canvas);
     
     context = canvas.getContext2d();
     
     context.beginPath();
     context.setFillStyle(colorRed);
     context.fillRect(100, 50, 100, 100);
     context.setFillStyle(colorGreen);
     context.fillRect(200, 150, 100, 100);
     context.setFillStyle(colorBlue);
     context.fillRect(300, 250, 100, 100);
     context.closePath();
     
 }
 
}

And my Spring balls experiment with some codes that I found on the Web.

Reference: GWT and HTML5 Canvas Demo from our JCG partner Mark Anro Silva at the GlyphSoft blog.

Mark Anro Silva

Software Engineer | UI/UX Engineer, Java, JavaFX, GWT and Scala.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

2 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
David La Motta
11 years ago

Check out http://www.emitrom-lienzo.appspot.com/#ExplorerPlaceImpl:rectangle for some cool canvas-based rectangle example using a product called Lienzo.

Lienzo is a canvas-based graphics toolkit implemented using GWT. Most of the primitive shapes are supported out the gate, as are events, animations and transformations. Check it out! http://emitrom.com/lienzo/download

Best regards.

Zhou Ji
11 years ago

what is the difference between setCoordinateSpaceHeight and setHeight? do you really need to set both?

Back to top button