smartgoogle的源代码1

来源:互联网 发布:ubuntu怎么安装依赖项 编辑:程序博客网 时间:2024/05/23 02:07

今天用canvas写了一个google界面,烂的不行,只能在defaultcolorphone里有好的表现,换一个模拟器就不行,就是没有移植性,而且不能进行选择,纯粹是画了幅画.不过算是对前面学的东西的一个练习.本来想找地方传上来,可惜地方一时也找不到.打算过几天改进一下,重写一下源码,更有结构一些.另外再加上一些交互事件的处理.到时候把满意的传上来看.这里贴个源码

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import java.io.*;

public class SmartGoogle extends MIDlet
{
 private Display display;
 private MyCanvas mycanvas;

 public SmartGoogle()
 {
  display=Display.getDisplay(this);
  mycanvas=new MyCanvas("Google - Microsoft Internet Explorer");
 }

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

 public void pauseApp(){}

 public void destroyApp(boolean unconditional){}
}

class MyCanvas extends Canvas
{
 Image img;
 public MyCanvas(String title)
 {
  setTitle(title);
 }

 public void paint(Graphics g)
 {
  cls(g);    //clear screen
  draw(g);   //draw main page
 }

 private void cls(Graphics g)
 {
  g.setColor(255,255,255);
  g.fillRect(0,0,getWidth(),getHeight());
 }

 private void draw(Graphics g)
 {
  String string1=new String("Sign in");
  String string2=new String(" | ");
  String string3=new String("Personalized Home");
  Font f=Font.getDefaultFont();
  g.setColor(0,0,255);
  g.drawString(string1,getWidth(),0,Graphics.RIGHT|Graphics.TOP);
  int width1=f.stringWidth(string1);
  int height=f.getHeight();
  g.drawLine(getWidth()-width1,height,getWidth()-f.charWidth(' '),height);
  g.setColor(0,0,0);
  g.drawString(string2,getWidth()-width1,0,Graphics.RIGHT|Graphics.TOP);
  int width2=f.stringWidth(string2);
  g.setColor(0,0,255);
  g.drawString(string3,getWidth()-width1-width2,0,Graphics.RIGHT|Graphics.TOP);
  int width3=f.stringWidth(string3);
  g.drawLine(getWidth()-width1-width2-width3,height,getWidth()-width1-width2-f.charWidth(' '),height);


        try{
   img=Image.createImage("/logo.png");
   g.drawImage(img,(getWidth()-img.getWidth())/2,height+5,Graphics.LEFT|Graphics.TOP);
  }
  catch(IOException e){}

  string1="Web";
  string2=" ";
  string3="Images";
  String string4="Group";
  String string5="News";
  String string6="more >>";

  int width=(getWidth()-f.stringWidth(string1+string2+string3+string2+string4+string2+string5+string2+string6))/2;
  height=height+5+img.getHeight();

  g.setColor(0,0,0);
  g.drawString(string1+string2,width,height,Graphics.LEFT|Graphics.TOP);
  g.setColor(0,0,255);
  g.drawString(string3+string2,width+f.stringWidth(string1+string2),height,Graphics.LEFT|Graphics.TOP);
  g.drawLine(width+f.stringWidth(string1+string2),height+f.getHeight()-1,width+f.stringWidth(string1+string2+string3)-f.charWidth(' '),height+f.getHeight()-1);
        g.drawString(string4+string2,width+f.stringWidth(string1+string2+string3+string2),height,Graphics.LEFT|Graphics.TOP);
        g.drawLine(width+f.stringWidth(string1+string2+string3+string2),height+f.getHeight()-1,width+f.stringWidth(string1+string2+string3+string2+string4)-f.charWidth(' '),height+f.getHeight()-1);
        g.drawString(string5+string2,width+f.stringWidth(string1+string2+string3+string2+string4+string2),height,Graphics.LEFT|Graphics.TOP);
        g.drawLine(width+f.stringWidth(string1+string2+string3+string2+string4+string2),height+f.getHeight()-1,width+f.stringWidth(string1+string2+string3+string2+string4+string2+string5)-f.charWidth(' '),height+f.getHeight()-1);
        g.drawString(string6,getWidth()-width,height,Graphics.RIGHT|Graphics.TOP);
        g.drawLine(getWidth()-width,height+f.getHeight()-1,getWidth()-width-f.stringWidth(string6),height+f.getHeight()-1);

        width=width-10;
        height=height+f.getHeight()+6;

        g.setColor(0,0,0);
        g.drawLine(width,height,width,height+20);
        g.drawLine(width,height,getWidth()-width,height);
        g.setGrayScale(200);
        g.drawLine(width,height+20,getWidth()-width,height+20);
        g.drawLine(getWidth()-width,height,getWidth()-width,height+20);

        height=height+28;
        string1="Google Search    I'm Feeling Lucky";
        width=(getWidth()-f.stringWidth(string1))/2;

        g.setGrayScale(210);
        g.fillRect(width-8,height-4,f.stringWidth(string1)+16,f.getHeight()+7);
        g.setGrayScale(0);
        g.drawLine(width-8,height+f.getHeight()+3,width+f.stringWidth(string1)+8,height+f.getHeight()+3);
        g.drawLine(width+f.stringWidth(string1)/2-4,height-4,width+f.stringWidth(string1)/2-4,height+f.getHeight()+3);
        g.drawLine(width+f.stringWidth(string1)+8,height-4,width+f.stringWidth(string1)+8,height+f.getHeight()+3);
        g.drawString(string1,width,height,Graphics.LEFT|Graphics.TOP);

        string1=" Business Solutions ";
        string2="Make Google Your Homepage!";
        string3="?2006 Google";
        string4=" About Google";
        string5="-";

        width=(getWidth()-f.stringWidth(string5+string1+string5+string4))/2;
        height=height+50;
        g.setColor(0,0,0);
        g.drawString(string5,width,height,Graphics.LEFT|Graphics.TOP);
        width=width+f.stringWidth(string5);
        g.setColor(0,0,255);
        g.drawString(string1,width,height,Graphics.LEFT|Graphics.TOP);
        g.drawLine(width,height+f.getHeight()-1,width+f.stringWidth(string1)-f.charWidth(' '),height+f.getHeight()-1);
        width=width+f.stringWidth(string1);
        g.setColor(0,0,0);
        g.drawString(string5,width,height,Graphics.LEFT|Graphics.TOP);
        width=width+f.stringWidth(string5);
        g.setColor(0,0,255);
        g.drawString(string4,width,height,Graphics.LEFT|Graphics.TOP);
        g.drawLine(width,height+f.getHeight()-1,width+f.stringWidth(string4)-f.charWidth(' '),height+f.getHeight()-1);

        width=(getWidth()-f.stringWidth(string2))/2;
        height=height+f.getHeight()+8;
        g.drawString(string2,width,height,Graphics.LEFT|Graphics.TOP);
        g.drawLine(width,height+f.getHeight()-1,width+f.stringWidth(string2)-f.charWidth(' '),height+f.getHeight()-1);

        width=(getWidth()-f.stringWidth(string3))/2;
        height=height+f.getHeight()+8;
        g.drawString(string4,width,height,Graphics.LEFT|Graphics.TOP);
        g.drawLine(width,height+f.getHeight()-1,width+f.stringWidth(string4)-f.charWidth(' '),height+f.getHeight()-1);
 }
}

原创粉丝点击