Programming Tutorials

Sample program to draw a arc in J2ME

By: Tamil Selvan in J2ME Tutorials on 2007-09-16  

The Graphics class also supports the drawing of arcs. To draw an arc, you must specify six parameters. These parameters are the four quantities that define the arc's bounding rectangle, its start angle, and its end angle. The bounding rectangle is defined by the same four parameters required for rectangles.

The drawing routine traces the arc along a path from the start angle to the end angle in a counterclockwise direction. Angle 0 degrees is along the positive x-axis of the coordinate plane. Like other geometric figures, arcs can be drawn in outline mode or fill mode. Arcs can be drawn in outline or in filled form, like rectangles.

Here's a sample program to draw an arc in J2ME using the Graphics class:

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Graphics;

public class ArcCanvas extends Canvas {
    
    private Display display;
    
    public ArcCanvas(Display display) {
        this.display = display;
    }
    
    protected void paint(Graphics g) {
        int width = getWidth();
        int height = getHeight();
        int cx = width / 2;
        int cy = height / 2;
        int r = Math.min(width, height) / 2;
        
        g.setColor(255, 0, 0);
        g.drawArc(cx - r, cy - r, 2 * r, 2 * r, 0, 120);
    }
    
    public void show() {
        display.setCurrent(this);
    }
}

In this program, the ArcCanvas class extends the Canvas class to create a custom canvas that can be displayed on the screen. The constructor takes a Display object as an argument, which is used to display the canvas.

The paint method is where the drawing happens. The Graphics object is obtained from the canvas and used to draw a red arc with a radius of half the width or height of the canvas, centered in the middle of the canvas.

Finally, the show method is used to display the canvas on the screen by setting it as the current displayable object.






Add Comment

* Required information
1000

Comments

No comments yet. Be the first!

Most Viewed Articles (in J2ME )

Latest Articles (in J2ME)