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);
}
}
- smartgoogle的源代码1
- smartgoogle的源代码2
- Android2.1的源代码的目录结构
- Android2.1的源代码的目录结构
- 获取网页源代码的示例一(1)
- com.joybase.DB的源代码(1)
- spring源代码分析(1)--Resource的分析
- 查看源代码的ctags,cscope(1)
- ppp协议的源代码搜集1
- FastColoredTextBox的源代码笔记1--?? 运算符
- 处理C++源代码的程序(1)
- 我的看源代码历程1
- .NET 源代码的安全性(源代码工具真正比拼) (論)(1)
- arm linux源代码分析第1讲-arm linux源代码分析的主要结构
- 怎么优化源代码,源代码的形成是什么?
- 【源代码】移动视频通话的JAVA源代码
- 五子棋的源代码
- ZFactroy的源代码
- 刚刚有点程序的苗头,不过入门真的不容易
- 5.2 后缀表达式 + 5.2.1 下标
- 5.2.2 函数调用
- 参数 vs 参量
- 受不了!Windows太智能了
- smartgoogle的源代码1
- 数据结构之线性链表的算法
- 架构根据电信、网通用户自动解析不同IP的DNS服务器
- Visual Studio的自动化接口
- 给VC增加注释/反注释的功能
- 福州就是这么个没劲的地方
- 笑话——车牌
- 今天被K了
- Source Insight 3.5.0045