canvasdemo3.java

来自「一本介绍手机游戏开发的书中的源代码」· Java 代码 · 共 80 行

JAVA
80
字号
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class canvasDemo3 extends MIDlet
{
   Display display;
   canvasFont canvasfont;

   public canvasDemo3()
   {
      canvasfont=new canvasFont();
      display=Display.getDisplay(this);
   }

   public void startApp()
   {
      display.setCurrent(canvasfont);
   }

   public void pauseApp(){}

   public void destroyApp(boolean unconditional){}

   class canvasFont extends Canvas 
   {
      String   keyname="";
      int      face=Font.FACE_MONOSPACE;
      int      style=Font.STYLE_BOLD;
      int      size=Font.SIZE_LARGE;
      String   wface="FACE_MONOSPACE";
      String   wstyle="STYLE_BOLD";
      String   wsize="SIZE_LARGE";
      String[] inputkey={"1","2","3","4","5","6","7","8","9","0"};
      int[]    moveface={Font.FACE_MONOSPACE, Font.FACE_PROPORTIONAL, Font.FACE_SYSTEM};
      int[]    movestyle={Font.STYLE_BOLD, Font.STYLE_ITALIC, Font.STYLE_PLAIN, Font.STYLE_UNDERLINED};
      int[]    movesize={Font.SIZE_LARGE, Font.SIZE_MEDIUM, Font.SIZE_SMALL};
      String[] wordface={"FACE_MONOSPACE", "FACE_PROPORTIONAL", "FACE_SYSTEM"};
      String[] wordstyle={"STYLE_BOLD", "STYLE_ITALIC", "STYLE_PLAIN", "STYLE_UNDERLINED"};
      String[] wordsize={"SIZE_LARGE", "SIZE_MEDIUM", "SIZE_SMALL"};

      public canvasFont(){}
      
      public void keyPressed(int keyCode) 
      {
         keyname=getKeyName(keyCode);
         for(int i=0; i<10; i++)
            if(keyname.equals(inputkey[i]))
              if(i>=0 && i<=2)
              {
                 wface=wordface[i];
                 face=moveface[i];
              }
               else if(i>=3 && i<=6){
                 wstyle=wordstyle[i-3];
                 style=movestyle[i-3];
              }
               else{
                 wsize=wordsize[i-7];
                 size=movesize[i-7];
              }       
          repaint();
      }

      public void paint(Graphics g)
      { 
         g.setColor(0xFFFFFF);
         g.fillRect(0, 0, getWidth(), getHeight());
         g.setColor(0);
         g.drawString("游戏文字显示字体", getWidth()/2, 10, Graphics.HCENTER | Graphics.TOP);
         g.drawString("设置FACE:"+wface, getWidth()/2, 30, Graphics.HCENTER | Graphics.TOP);
         g.drawString("FACE数值:"+String.valueOf(face), getWidth()/2, 45, Graphics.HCENTER | Graphics.TOP);
         g.drawString("设置STYLE:"+wstyle, getWidth()/2, 65, Graphics.HCENTER | Graphics.TOP);
         g.drawString("STYLE数值:"+String.valueOf(style), getWidth()/2, 80, Graphics.HCENTER | Graphics.TOP);
         g.drawString("设置SIZE:"+wsize, getWidth()/2, 100, Graphics.HCENTER | Graphics.TOP);
         g.drawString("SIZE数值:"+String.valueOf(size), getWidth()/2, 115, Graphics.HCENTER | Graphics.TOP);
         g.setFont(Font.getFont(face,style,size));
         g.drawString("Font字体设置状态", getWidth()/2, 140, Graphics.HCENTER | Graphics.TOP);
      }
   }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?