今天是那个足球项目要求完工的一天,可我却连个测试文档都没写,其实也不想写.艾.日子过的真快.对工作已经开始失去了激情.不说这些了.
今天带给大家的将是j2me UI设计的第一篇比较有用的文章,我是这么认为的.哈
这篇文章的要说的是,UI的风格跟边框.
多说无用,我把代码贴出来,大家看看把.^_^
package org.wuhua.ui;
import javax.microedition.lcdui.Graphics;
/**
* <b>类名:Border.java</b> </br>
* 编写日期: 2006-8-11 <br/>
* 程序功能描述:UI的边框,抽象类,具体怎么画,画什么由子类实现. <br/>
* Demo: <br/>
* Bug: <br/>
*
* 程序变更日期 :<br/>
* 变更作者 :<br/>
* 变更说明 :<br/>
*
* @author wuhua </br> <a href="mailto:rrq12345@163.com">rrq12345@163.com</a>
*/
public abstract class Border {
protected int borderWidth;
protected int borderColor;
/**
* 创建Border.<br/>
* 边框宽度默认为1.<br/>
* 边框颜色默认为黑色.<br/>
*/
public Border() {
this.borderWidth = 2;
this.borderColor = 0x000000;
}
public Border(int borderWidth, int borderColor) throws IllegalArgumentException {
if(borderWidth<0)
throw new IllegalArgumentException("BoderWidth isn't less than 0 ");
this.borderWidth = borderWidth;
this.borderColor = borderColor;
}
/**
* 返回默认风格的椭圆边框
* @return
*/
public static Border getRoundRectBorder(){
return new RoundRectBorder();
}
/**
* 返回指定边框大小,边框颜色的椭圆边框
* @return
*/
public static Border getRoundRectBorder(int borderWidth, int borderColor){
return new RoundRectBorder(borderWidth,borderColor);
}
/**
* 返回默认风格的长方形边框
* @return
*/
public static Border getRectBorder(){
return new RectBorder();
}
/**
* 返回指定边框大小,边框颜色的长方形边边框
* @return
*/
public static Border getRectBorder(int borderWidth, int borderColor){
return new RectBorder(borderWidth,borderColor);
}
/**
* 绘制边框
*
* @param x 起始水平线x
* @param y 起始垂直线y
* @param width 边框的宽度
* @param height 边框的高度
* @param g 绘制此边框的图形
*/
public abstract void paint( int x, int y, int width, int height, Graphics g );
}
package org.wuhua.ui;
import javax.microedition.lcdui.Graphics;
/**
* <b>类名:RectBorder.java</b> </br>
* 编写日期: 2006-8-11 <br/>
* 程序功能描述:方型边框 <br/>
* Demo: <br/>
* Bug: <br/>
*
* 程序变更日期 :<br/>
* 变更作者 :<br/>
* 变更说明 :<br/>
*
* @author wuhua </br> <a href="mailto:rrq12345@163.com">rrq12345@163.com</a>
*/
public class RectBorder extends Border {
public RectBorder() {
super();
}
public RectBorder(int borderWidth, int borderColor) {
super(borderWidth,borderColor);
}
public void paint(int x, int y, int width, int height, Graphics g) {
g.setColor( 0x5565656);
g.setColor(borderColor);
g.fillRect(x, y, width, borderWidth); //绘制上边框水平线
g.fillRect(x, y, borderWidth, height); //绘制左边框垂直线
g.fillRect(x, height+x, width+borderWidth, borderWidth); //绘制下边框水平线
g.fillRect(width+y, y, borderWidth, height); //绘制右边框垂直线
}
}
package org.wuhua.ui;
import javax.microedition.lcdui.Graphics;
/**
* <b>类名:RoundRectBorder.java</b> </br>
* 编写日期: 2006-8-11 <br/>
* 程序功能描述: 带圆角边框<br/>
* Demo: <br/>
* Bug: <br/>
*
* 程序变更日期 :<br/>
* 变更作者 :<br/>
* 变更说明 :<br/>
*
* @author wuhua </br> <a href="mailto:rrq12345@163.com">rrq12345@163.com</a>
*/
public class RoundRectBorder extends Border{
public RoundRectBorder() {
super();
}
public RoundRectBorder(int borderWidth, int borderColor) {
super(borderWidth,borderColor);
}
public void paint(int x, int y, int width, int height, Graphics g) {
g.setColor(borderColor);
int arcWidth = 0;
int arcHeight = 0;
//判断边框大小然后调整员角度
if(borderWidth<=1){
arcHeight = borderWidth+2;
arcWidth = borderWidth +2;
}else{
arcHeight = arcWidth = borderWidth+5;
}
g.fillRoundRect(x,y,width,height,arcWidth,arcHeight);
g.setColor(0xFFFFFFF);
g.fillRect(x+borderWidth,y+borderWidth,
width-2*borderWidth, height-2*borderWidth);
}
}
package test;
import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
/**
* <b>类名:Test.java</b> </br>
* 编写日期: 2006-8-11 <br/>
* 程序功能描述: 测试类<br/>
* Demo: <br/>
* Bug: <br/>
*
* 程序变更日期 :<br/>
* 变更作者 :<br/>
* 变更说明 :<br/>
*
* @author wuhua </br> <a href="mailto:rrq12345@163.com">rrq12345@163.com</a>
*/
public class Test extends MIDlet {
public Test() {
super();
// TODO 自动生成构造函数存根
}
protected void startApp() throws MIDletStateChangeException {
TestCanvas test = new TestCanvas();
Display.getDisplay(this).setCurrent(test);
}
protected void pauseApp() {
// TODO 自动生成方法存根
}
protected void destroyApp(boolean unconditional)
throws MIDletStateChangeException {
// TODO 自动生成方法存根
}
}
package test;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import org.wuhua.ui.Border;
/**
* <b>类名:TestCanvas.java</b> </br>
* 编写日期: 2006-8-11 <br/>
* 程序功能描述: <br/>
* Demo: <br/>
* Bug: <br/>
*
* 程序变更日期 :<br/>
* 变更作者 :<br/>
* 变更说明 :<br/>
*
* @author wuhua </br> <a href="mailto:rrq12345@163.com">rrq12345@163.com</a>
*/
public class TestCanvas extends Canvas {
protected void paint(Graphics g) {
//可按照自己的意思,绘制大小,颜色绘制边框
Border b = Border.getRectBorder(3,0x7899999);// TODO 自动生成方法存根
b.paint(5,5,70,30,g);
}
}
上面的只是边框,接下来,我会设计一些其他的东西(呵呵)
运行效果如下.
分享到:
相关推荐
基于低级界面的j2me UI库类,有demo和源码。高级界面的东西虽然好用但是在不同的手机上面显示得不一样,有的好看有的很丑,但是基于低级界面的就不一样了。在不同手机上显示出来都是一样的,这个UI库类是企业级的。...
eswt j2me ui 界面 eswt j2me ui 界面 eswt j2me ui 界面
j2me ui lwuit 1.3 j2me UI库
MIE J2ME UI库 v1.0 说明: MIE UI库(下简称MIE)是一个开源的手机(J2ME)GUI编程框架,与PC电脑上的AWT/Swing/SWT有相似的用处。 MIE提供了一套基本的UI组件,包括文本标签、文本框、文本域、按钮、单选框、复选框...
good materials to learn s60 j2me UI development.
LWUIT J2ME UI框架 开发手册 LWUIT J2ME UI框架 开发手册
LWUIT实现了MVC架构,是J2ME程序中UI设计的一个JAR包。该文档是LWUIT帮助文档的CHM版
制作漂亮的UI例子,九宫图 UIManager例子
高级UI详细总结,和开发框架详细资料大全,里面有详细笔记以及总结!
lwuit开发文档,英文的,勉强看得下去,chem格式很受欢迎
mewt提供了一套轻便,可自定皮肤的j2me ui控件。这些控件能够根据不同设备的屏幕大小自动调整。当前提供的控件有: tree、table、list、button等。
j2me低级UI文字分行!希望对大家有用
============== J2ME UI Canvas 代码,在 LWUIT 之类的东西出现之前就使用了; 同样,在 iOS 和 Android 流行之前。 或多或少过时的代码,此处用于存档目的。 支持 没有可用的支持 创造者 杰森林 版权和许可 在下...
J2ME学习之环境搭建.学习j2me首先需要搭建环境
j2meJAROD讲J2ME游戏之NPC脚本 j2meJAROD讲J2ME游戏之NPC脚本
用底层CAVANS实现的一套UI,还有不完善的地方,欢迎PP
J2ME开发 J2ME开发 J2ME开发 J2ME开发
A j2me ui and time A j2me ui and time
LWUIT是属于sun为J2ME提供的一轻量级UI组件,拥有绚丽的动态效果。在我看来还是过于臃肿了,整个jar包接近400K,更不要说加上主题资源文件了。
J2ME API J2ME API J2ME API J2ME API J2ME API