|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Java编译的是字节码,跟C++相反,启动不够快,效率不够高,难以精确控制内存,但是优点是编程比C++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试)条记九
MIDP初级图形处置
MIDP所供应的图形处置办法都在javax.microedition.lcdui内里。次要是以下几个类:Display,Graphic
s,Canvas,Font,Image。
1、Display:
在每一个MIDlet当中是由一个Display,属于用Singleton
Pattern所封装起来的种别,必要利用getDisplay来获得。当利用setCurrent()办法,并同时将一个Dis
playable的子类作为参数就能够在屏幕上显现相干的画面。也可一用getCurrent()猎取以后正在感化的
Displayable的对象。同时为了获得屏幕相干的属性可使用isColor()前往屏幕是不是为黑色,numColors(
)前往屏幕所撑持的黑色数,假如前往值为2则为口角两色。每当Display的setCurrent办法失掉Canvas子
类作为参数的时分,MIDP体系会实行paint办法并将Graphics对象看成参数。内里有一点必要注重,因为
手持设备的屏幕巨细并非流动的,以是我们在添补背景致,远景色的时分有需要经由过程getWidth(),getHe
ight()两个办法获得屏幕的长、宽。
2、Image:
处置图形的时分会利用到Image类,依据Image类的发生体例能够分为可修正和不成修正的两个方面。
能够经由过程isMutable办法失掉此Image类是不是能够修正。还能够经由过程getWidth(),getHeight()办法获得Imag
e对象的长,宽。
能够经由过程读取图象文件,收集下载,resourcebundle等体例创立一个不成修正的image对象。一旦创
建不成修正image对象,那末这个图象的内容将不成再次变动。
packagecom.graph;
/**
*@authorYouLi
*
*CopyRight(C)2005*/
importjavax.microedition.midlet.*;
importjavax.microedition.lcdui.*;
publicclassImageExextendsMIDletimplementsCommandListener{
privateCommandcmdExit;
privateImageCanvascanvas;
publicImageEx(){
cmdExit=newCommand("Exit",Command.SCREEN,2);
canvas=newImageCanvas();
//TODO主动天生机关函数存根
}
protectedvoidstartApp()throwsMIDletStateChangeException{
//TODO主动天生办法存根
canvas.addCommand(cmdExit);
canvas.setCommandListener(this);
Display.getDisplay(this).setCurrent(canvas);
}
protectedvoidpauseApp(){
//TODO主动天生办法存根
}
protectedvoiddestroyApp(booleanarg0)throwsMIDletStateChangeException{
//TODO主动天生办法存根
}
publicvoidcommandAction(Commandcommand,Displayablescreen){
if(command==cmdExit){
notifyDestroyed();
}
}
}
packagecom.graph;
/**
*@authorYouLi
*
*CopyRight(C)2005*/
importjavax.microedition.lcdui.*;
publicclassImageCanvasextendsCanvas{
publicvoidpaint(Graphicsg){
try{
Imageimage=Image.createImage("/JavaPowered-2.png");
g.drawImage(image,0,0,Graphics.TOP|Graphics.LEFT);
}catch(Exceptione){
e.printStackTrace();
}
}
}
创建如上两个类,然后运转程序就能够看到图片显现在摹拟器的屏幕上了。例子中我们用createImage
读取一个存在的图片来创建一个不成变动的Image对象。另有别的两个机关函数也是用来创建不异的image
对象,一个是createImage(byte[]imagedata,intimageoffset,int
imageLength),另有一个就是createImage(Imagesource)。
固然,假如我们要构建一个能够修正的image对象那末可使用机关函数createImage(intwidth,int
height)。由于一个可修正的image对象实践就是可否在背景绘图的offscree,以是在创建一个能够修正
的image对象之前应当利用Canvas的isDoubleBuffered()办法断定设备是不是撑持此办法。
font字体
Font.getDefaultFont()--失掉体系默许的字体。
Font.getFont()--失掉以后所利用的字体。(getFace()『isBold();isItalic();isPlain();
isUnderlined()』,getStyle(),getSize())
Font.setFont()--设置字体
关于font一共有三个参数:
face:Graphics.FACE_MONOSPACE;Graphics.FACE_PROPORTIONAL;Graphics.FACE_SYSTEM
style:Graphics.STYLE_BOLD;Graphics.STYLE_ITALIC;Graphics.STYLE_PLAIN;
Graphics.STYLE_UNDERLINED
size:Graphics.SIZE_LARGE;Graphics.SIZE_MEDIUM;Graphics.SIZE_SMALL
关于font的几个主要的办法:
getBaseLinePosition();getHeight();charWidth();charsWidth();stringWidth();
substringWidth()
定位点:
定位点界说了7个屏幕点:Graphics.TOP;Graphics.BOTTOM;Graphics.LEFT;Graphics.RIGHT;
Graphics.HCENTER;Graphics.VCENTER;Graphics.BASELINE。
3、Graphics
获得Graphics对象有两个办法,用paint()办法传进参数,还能够用Image类的getGraphics办法来失掉Graphics对象。二者区分在于paint办法失掉的Graphics对象我们能够使用相干办法在屏幕上画图,而使用getGraphics办法失掉的Graphics对象对任何呼唤不起感化。
绘图的时分我们在图形相干办法中利用的坐标不是代表象素自己,而是指象素与象素之间空格所组成的坐标!这个和我们传统的笛卡儿坐标的观点有些往表,并且是以屏幕左上方为0,0坐标。
Graphics对象的setColor(intred,intgreen,intblue)办法用来设置象素的色彩。getGrayScale()获得今朝所用的灰度,setGrayScale()则是用来设置灰度。MIDP中没有供应设置远景色背景致的办法,以是必需经由过程添补来处置。
笔墨和图形
笔墨利用drawChar(),drawChars(),drawString()
图形利用drawImage()
绘图和画面添补
线:drawLine(),有4个参数,分离输出x,y出发点右边,x,y尽头坐标
弧形:drawArc(),6个参数,前4个暗示弧形地点的矩形局限的坐标,第五个决意肇端角度,第六个决意弧形所涵盖第角度。
矩形:drawRect(),4个参数,x、y出发点坐标,宽,长
园角矩形:drawRoundRect()6个参数,前4个暗示弧形地点的矩形局限的坐标,第五个是园角所在矩形第宽度,第六个暗示矩形的高度。
添补弧形:fillArc(),6个参数,前四个决意弧形地点矩形的局限,第五个决意肇端角度,第六个决意弧形所涵盖的角度
添补矩形:fillRect(),4个参数,x、y出发点坐标,宽,长
添补园角矩形:fillRoundRect(),6个参数,前4个暗示弧形地点的矩形局限的坐标,第五个是园角地点矩形第宽度,第六个暗示矩形的高度。
用java开发web只要两本书:一本是关于java基础的,一本是关于jsp、servlet的就可以了。开发周期长,我就来讲句题外话,现在有很多思想都是通过java来展现。 |
|