It's not a secret anymore!
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 Building Microservices this week in the Design forum!
JavaRanch » Java Forums » Mobile » Java Micro Edition
Bookmark "how to use a canvas class" Watch "how to use a canvas class" New topic
Author

how to use a canvas class

Amy konan
Greenhorn

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() {
this(Font.STYLE_PLAIN);
}

public FontCanvas(int style) {
setStyle(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.setFont(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: 17046
    
  26

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.


An IDE is no substitute for an Intelligent Developer.
Amy konan
Greenhorn

Joined: Jan 25, 2011
Posts: 2
well this will change whole my project
any way thank you Tim
 
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com
 
subject: how to use a canvas class
 
It's not a secret anymore!