You Are Here:

Community: Wiki

This page was last modified on 30 March 2009, at 13:18.

CS001313 - Drawing a line on canvas in Java ME

From Forum Nokia Wiki



ID CS001313 Creation date March 30, 2009
Platform S60 3rd Edition, S60 5th Edition, Series 40 2nd Edition, Series 40 3rd Edition, FP1 Tested on devices Nokia E70, Nokia 5800 XpressMusic, Nokia 6021, Nokia 6131
Category Java ME Subcategory Graphics


Keywords (APIs, classes, methods, functions): javax.microedition.lcdui.Canvas, javax.microedition.lcdui.Graphics, javax.microedition.lcdui.Canvas.paint, javax.microedition.lcdui.Graphics.drawLine


Overview

This code snippet demonstrates how to draw lines in a Java ME MIDlet.

The Canvas class is used for drawing lines and other simple graphics. Since Canvas is an abstract class, in order to draw lines, you must implement your own class based on Canvas and implement the paint method which is used for drawing on the canvas. After that, this class may be used as displayable - it can be assigned as the current displayable and it can contain commands.

This MIDlet consists of 2 source files:

  1. DrawingLineMidlet.java - contains the MIDlet class.
  2. DrawingLineCanvas.java - contains the DrawingLineCanvas class, with implemented method paint which is used to draw a line.

Source file: DrawingLineMidlet.java

// Canvas for drawing line
private DrawingLineCanvas canvas;
 
public DrawingLineMidlet() {
setupCanvas();
}
 
/**
* Sets up canvas for drawing line.
*/

private void setupCanvas() {
canvas = new DrawingLineCanvas();
canvas.setTitle("Drawing the line");
 
canvas.addCommand(EXIT_COMMAND);
canvas.setCommandListener(this);
}
 
/**
* From MIDlet.
* Called when the MIDlet is started.
*/

public void startApp() {
// The initial display is the main form
Display.getDisplay(this).setCurrent(canvas);
}


Source file: DrawingLineCanvas.java

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
 
/**
* Canvas for drawing line.
*/

public class DrawingLineCanvas extends Canvas {
// Draw a diagonal black line
protected void paint(Graphics g) {
g.drawLine(10, 10, getWidth() - 10, getHeight() - 10);
}
}


Postconditions

A canvas with a diagonal black line on a white background is drawn on the display.

Supplementary material

This code snippet is part of the stub concept, which means that it has been patched on top of a template application in order to be more useful for developers. The version of the Java ME stub application used as a template in this snippet is v1.1.

  • The patched, executable application that can be used to test the features described in this snippet is available for download at Media:DrawingLine.zip.
  • You can view all the changes that are required to implement the above-mentioned features. The changes are provided in unified diff and colour-coded diff (HTML) formats in Media:DrawingLine.diff.zip.
  • For general information on applying the patch, see Using Diffs.
  • For unpatched stub applications, see Example stub.

Related Wiki Articles

No related wiki articles found

Rate This

 
Bookmark this page: DeliciousDiggFacebookGoogleYahooStumbleUponRedditDiigoTechnocratiTwitter  Share this page Share this page Print this Page Print this page Invite a friend Invite a friend
京ICP备05048969号    Email Newsletters Press Terms & Conditions Privacy Policy Sitemap Contact Us © 2009 Nokia