|
A method of using differnet fonts in Java ME |
|
|
The Java tips describes methods of using different fonts in J2ME
application. The Font class represents fonts and font metrics.
Fonts cannot be created by applications. The setFont(Font font)
method of graphic class sets the font for all subsequent text
rendering operations. And there is no call to showNotify and
hideNotify method on some the device. This application will help
game developer to find out the exact behaviour of mobile device.
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class FontDemo extends MIDlet {
private boolean boolMotion=false;
private int iX=10, iY=60;
Display mDisplay;
Thread th;
public void destroyApp(boolean unconditional){}
public void pauseApp() {}
public void startApp() {
mDisplay = Display.getDisplay(this);
final MyCanvas can = new MyCanvas();
mDisplay.setCurrent(can);
}
}
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class MyCanvas extends Canvas {
Font font;
String msg;
public MyCanvas() {
font=Font.getFont(Font.FACE_MONOSPACE,
Font.STYLE_ITALIC, Font.SIZE_LARGE);
msg = "Font:FACE_MONOSPACE Font.STYLE_ITALIC Font.SIZE_LARGE";
}
public void paint(Graphics g) {
g.setFont(font);
g.drawString(msg,0,10,g.TOP|g.LEFT);
g.drawString("press NUM KEY: 1 2 or 3",0,80,g.TOP|g.LEFT);
}
void changeValue(int change) {
switch(change) {
case '1':
font=Font.getFont(Font.FACE_MONOSPACE,
Font.STYLE_ITALIC, Font.SIZE_LARGE) ;
msg="Font:FACE_MONOSPACE Font.STYLE_ITALIC "+
"Font.SIZE_LARGE";
break;
case '2':
font=Font.getFont(Font.FACE_PROPORTIONAL,
Font.STYLE_ITALIC, Font.SMALL) ;
msg = "Font:FACE_PROPORTIONAL Font.STYLE_ITALIC "+
"Font.SIZE_SMALL";
break;
case '3':
font=Font.getFont(Font.FACE_SYSTEM ,
Font.STYLE_BOLD, Font.SIZE_LARGE) ;
msg="Font:FACE_SYSTEM Font.STYLE_BOLD "+
"Font.SIZE_LARGE";
break;
}
}
//Handling keyEvents
protected void keyPressed(int keyCode) {
changeValue(keyCode);
repaint();
}
}
|
Related Tips
|
Page 1 of 0 ( 0 comments )
You can share your information about this topic using the form below!
Please do not post your questions with this form! Thanks.