<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    夢想飛翔

    自強(qiáng)不息
    posts - 111, comments - 30, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    J2ME字體專題

    Posted on 2009-03-05 08:59 love1563 閱讀(313) 評(píng)論(0)  編輯  收藏 所屬分類: j2me學(xué)習(xí)筆記

    J2ME字體專題

    <o:p> </o:p>

    1,Font類的特點(diǎn):

    ①?zèng)]有構(gòu)造函數(shù)

    ②是final類型的類

    ③沒有color屬性,只有三性:.

    2,特點(diǎn)決定用法:不能被繼承,不能被實(shí)例化.

    <o:p> </o:p>

    3,關(guān)于字體的知識(shí):字體的形狀-----face,字體的風(fēng)格----Style,字體的大小---size

    4,J2ME提供的字體:

    形狀: FACE_MONOSPACE---等寬字體

         FACE_PROPORTIONAL----均衡字體

         FACE_SYSTEM----系統(tǒng)字體

    風(fēng)格: STYLE_BOLD-----粗體

            STYLE_ITALIC---斜體

         STYLE_PLAIN----普通

            STYLE_UNDERLINED----下畫線

      注意:風(fēng)格可以組合.: STYLE_BOLD| STYLE_ITALIC 兩兩組合,或者三者組合STYLE_UNDERLINED |STYLE_BOLD| STYLE_ITALIC

    大小: SIZE_LARGE--- 16

           SIZE_MEDIUM----0

            SIZE_SMALL-----8

    <o:p> </o:p>

    5,color:由于J2ME技術(shù)比較簡單,所以沒有實(shí)現(xiàn)專門的顏色類,而只是使用RGB的概念來代表顏色。這里簡單介紹一下RGB的概念,顏色是由紅(Red)、綠(Green)、藍(lán)(Blue)三原色組成的,所以可以使用這三個(gè)顏色的組合來代表一種具體的顏色,其中R、G、B的每個(gè)數(shù)值都位于0-255之間。在表達(dá)顏色的時(shí)候,即可以使用三個(gè)數(shù)字來表達(dá),也可以使用一個(gè)格式如0X00RRGGBB這樣格式的十六進(jìn)制來表達(dá),下面是常見顏色的表達(dá)形式:<o:p></o:p>

    紅色:(255,0,0)或0x00FF0000  
    綠色:(0,255,0)或
    0x0000FF00  
     藍(lán)色:(255,255,255)或0x00FFFFFF<o:p></o:p>

    可以使用setColor(int red,int green,int blue)或者setColor(int RGB)來設(shè)置字體的顏色,getColor()來獲取字體的顏色

    <o:p> </o:p>

    6.用法:

    ①在Graphics類中的運(yùn)用:

    package datuu.srk.demo.font;

    <o:p> </o:p>

    import javax.microedition.midlet.MIDlet;

    import javax.microedition.midlet.MIDletStateChangeException;

    import javax.microedition.lcdui.Canvas;

    import javax.microedition.lcdui.Graphics;

    import javax.microedition.lcdui.Font;

    import javax.microedition.lcdui.Display;

    <o:p> </o:p>

    public class GraphicsTest extends MIDlet {

        private GraphicsTestCanvas showCanvas;

        public GraphicsTest() {

            showCanvas = new GraphicsTestCanvas();

        }

        protected void startApp() throws MIDletStateChangeException {

            Display.getDisplay(this).setCurrent(showCanvas);

       }

    <o:p> </o:p>

        protected void pauseApp() {

        }

    <o:p> </o:p>

        protected void destroyApp(boolean _boolean) throws

                MIDletStateChangeException {

        }

    <o:p> </o:p>

    <o:p> </o:p>

        class GraphicsTestCanvas extends Canvas {

            private Font myFont;

            public GraphicsTestCanvas() {

                myFont = Font.getFont(Font.FACE_SYSTEM,Font.STYLE_UNDERLINED|Font.STYLE_BOLD|Font.STYLE_ITALIC,Font.SIZE_LARGE);//設(shè)置字體

            }

            private final String showMessage = "kuikui,你好!";

            protected void paint(Graphics g) {

                g.setFont(myFont);

                g.drawString(showMessage,this.getWidth()/2,this.getHeight()/2,Graphics.TOP|Graphics.LEFT);

            }

        }

    }

    <o:p> </o:p>

    ②繪制會(huì)動(dòng)的字體:

    package datuu.srk.demo.font;

    <o:p> </o:p>

    import javax.microedition.lcdui.*;

    import javax.microedition.midlet.*;

    <o:p> </o:p>

    public class DrawCanvas extends MIDlet implements CommandListener {

        private Command exitCommand;

        private HCanvas sg;

        public DrawCanvas() {

            exitCommand = new Command("Exit", Command.EXIT, 1);

            sg = new HCanvas();

            sg.addCommand(exitCommand);

            sg.setCommandListener(this);

            Display.getDisplay(this).setCurrent(sg);

    <o:p> </o:p>

        }

    <o:p> </o:p>

        protected void startApp() {

        }

    <o:p> </o:p>

        protected void pauseApp() {

        }

    <o:p> </o:p>

        protected void destroyApp(boolean unconditional) {

        }

    <o:p> </o:p>

        public void commandAction(Command c, Displayable d) {

            if (c == exitCommand) {

                destroyApp(false);

                notifyDestroyed();

            }

        }

    }

    <o:p> </o:p>

    <o:p> </o:p>

    class HCanvas extends Canvas implements Runnable {

    <o:p> </o:p>

        private String str = new String("Hello,LinuxFans");

        private int[] adjustHight = new int[] {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

                                    0, 0, 0, 0, 0, 1, 2, 3, 4, 4, 3, 2, 1, 1, 2, 3,

                                    3, 4, 4, 3, 2, 1,};

        boolean bStart = true;

        private int k = str.length();

    <o:p> </o:p>

        public HCanvas() {

            new Thread(this).start();

        }

    <o:p> </o:p>

        protected void paint(Graphics g) {

            g.setColor(0x00ffffff);

            g.fillRect(0, 0, getWidth(), getHeight());

            g.setColor(0x00000000);

            for (int i = 0; i < str.length(); i++) {

                g.drawString(str.substring(i, i + 1), 20 + i * 7,

                             10 - adjustHight[k - i], 0);

                g.drawString(str.substring(i, i + 1), 21 + i * 7,

                             11 - adjustHight[k - i], 0); //加重字體7是字體寬度

            }

        }

    <o:p> </o:p>

        public void run() {

            while (bStart) {

                try {

                    repaint();

                    Thread.sleep(70);

                    k++;

                    if (k > (adjustHight.length - 1)) {

                        k = str.length();

                    }

                } catch (InterruptedException e) {}

            }

        }

    <o:p> </o:p>

    }

    <o:p> </o:p>

    List中的運(yùn)用很簡單,List.setFont(int index,Font font)方法,可以把預(yù)設(shè)定好的字體.

    <o:p> </o:p>

    小結(jié)一下:字體在J2ME中是很重要的一部分,因?yàn)槲覀冏龀鰜淼能浖烙^也是很重的義部分,字體有很多種,要設(shè)置跟更美觀的字體可以使用德國開源包polish,j使用也很簡單,就像css樣式列表一樣使用,通過它可以設(shè)置跟網(wǎng)頁一樣美觀的字體,當(dāng)我們要繪制動(dòng)態(tài)字體的時(shí)候,其實(shí)就是坐標(biāo)的變換,左右滾動(dòng)變換x坐標(biāo),上下滾動(dòng),變換y坐標(biāo).

    <o:p> </o:p>

    <o:p> </o:p>

    主站蜘蛛池模板: 亚洲区小说区图片区QVOD| 国产免费播放一区二区| 久久久婷婷五月亚洲97号色 | 亚洲av高清在线观看一区二区| 99re免费99re在线视频手机版| 免费人妻精品一区二区三区| 亚洲日韩一中文字暮| 亚洲四虎永久在线播放| 亚洲中文字幕无码不卡电影| 国产男女猛烈无遮挡免费视频| 91精品国产免费久久久久久青草| 人妻免费一区二区三区最新| 人成午夜免费大片在线观看| 99亚洲男女激情在线观看| 亚洲精品天堂在线观看| 亚洲第一区视频在线观看| 亚洲成人在线电影| 国产亚洲真人做受在线观看| 亚洲天堂免费在线视频| 四虎影视在线永久免费观看| 在线中文高清资源免费观看| 人妻视频一区二区三区免费| 久久久高清免费视频| 国产乱子精品免费视观看片| 1000部啪啪毛片免费看| 久久精品免费视频观看| 国产精品免费大片| 永久免费av无码入口国语片| 两个人看www免费视频| 永久免费av无码入口国语片| 精品视频一区二区三区免费| 国产免费拔擦拔擦8X高清在线人| 中文字幕免费在线看| 免费看黄的成人APP| 一级毛片免费不卡在线| 精品无码国产污污污免费网站 | 久久精品国产亚洲AV麻豆网站| 久久久亚洲欧洲日产国码aⅴ | 久久精品无码精品免费专区| 无码一区二区三区免费| 久久精品免费观看国产|