File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Java Micro Edition and the fly likes how to use a canvas class Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Customer Requirements for Developers this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Mobile » Java Micro Edition
Bookmark "how to use a canvas class" Watch "how to use a canvas class" New topic

how to use a canvas class

Amy konan

Joined: Jan 25, 2011
Posts: 2
hello friend
I have a project in j2me and I'm totally lost so i wish someone could help me
well it's how to use the( Canvas )class for change the font in j2me
this is the class

class FontCanvas extends Canvas {
private Font mSystemFont, mMonospaceFont, mProportionalFont;

public FontCanvas() {

public FontCanvas(int style) {

public void setStyle(int style) {
mSystemFont = Font.getFont(Font.FACE_SYSTEM, style, Font.SIZE_MEDIUM);
mMonospaceFont = Font.getFont(Font.FACE_MONOSPACE, style, Font.SIZE_MEDIUM);
mProportionalFont = Font.getFont(Font.FACE_PROPORTIONAL, style, Font.SIZE_MEDIUM);

public void paint(Graphics g) {
int w = getWidth();
int h = getHeight();

int x = w/2 ;
int y = 40;

y += showFont(g, "HELLO THISE IS MY PROG.", x, y, mSystemFont);
y += showFont(g, "HELLO THISE IS MY PROG.", x, y, mMonospaceFont);
y += showFont(g, "HELLO THISE IS MY PROG.", x, y, mProportionalFont);

private int showFont(Graphics g, String s, int x, int y, Font f) {
g.drawString(s, x, y, Graphics.TOP | Graphics.HCENTER);

return f.getHeight();

my question is how could I make this class change the font for any word pass from MIDlet class(another class) ?
I mean in this code it's only change the font for "HELLO THISE IS MY PROG." sentence
what is the changes that I should do it on this class to make it change the font for any word according to my request(the word i send to it)?
and I'll be thankful for you all
my regards
Tim Holloway
Saloon Keeper

Joined: Jun 25, 2001
Posts: 16914

A "canvas" is just a rectangular area that you can do raw graphics in. So you can't really do "smart" things using a Canvas like tell the text output functions to shift fonts for certain words.

When you paint into a canvass, what you get is exactly what you tell it to paint and no more and no less.

Customer surveys are for companies who didn't pay proper attention to begin with.
Amy konan

Joined: Jan 25, 2011
Posts: 2
well this will change whole my project
any way thank you Tim
I agree. Here's the link:
subject: how to use a canvas class
It's not a secret anymore!