自从上了cisco的课程之后,好久没有动过j2me的代码,好怀念阿,还是me的东西带劲。
现在无聊随便写个时间的显示,也别忘了这些方法,虽然eclipse都会自动提醒,但是还是在vim中写出来才会将基本永远的记住,怎么说来着,重要的在于基础,有基础了学什么也就顺手了。:)
/**
* @Author : DavidZou
* @Date: 2008/09/10
*
*/
public class StartMIDlet extends MIDlet {
private MainController main;
public StartMIDlet() {
main = new MainController(this);
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
main = null;
}
protected void pauseApp() {
}
protected void startApp() throws MIDletStateChangeException {
main.init();
}
}
class MainController {
private StartMIDlet midlet;
private FirstForm form;
private ClockCanvas clock;
public MainController(StartMIDlet midlet){
this.midlet = midlet;
}
public void init(){
if(form == null)
form = new FirstForm("The First", this);
setCurrent(form);
}
public void clock(){
clock = new ClockCanvas(this);
setCurrent(clock);
}
public void setCurrent(Displayable dis){
Display.getDisplay(midlet).setCurrent(dis);
}
public void quit(){
try {
midlet.destroyApp(false);
} catch (MIDletStateChangeException e) {
e.printStackTrace();
}
midlet.notifyDestroyed();
}
}
class FirstForm extends Form implements CommandListener{
private MainController main;
private Command exitCommand = new Command("Exit", Command.EXIT, 0);
private Command clockCommand = new Command("Clock", Command.ITEM, 1);
private TextField tf = new TextField("Time:", "", 100, TextField.ANY | TextField.UNEDITABLE);
public FirstForm(String title, MainController main){
super(title);
this.main = main;
this.addCommand(exitCommand);
this.addCommand(clockCommand);
this.append(tf);
tf.setString(new Time().toString());
this.setCommandListener(this);
}
public void commandAction(Command c, Displayable d){
if(c == exitCommand){
main.quit();
}
if(c == clockCommand){
main.clock();
}
}
public String getString(){
return tf.getString();
}
public void setString(String str){
tf.setString(str);
}
}
class ClockCanvas extends Canvas implements Runnable, CommandListener{
private MainController main;
private Command exitCommand = new Command("Exit", Command.EXIT, 0);
private Command backCommand = new Command("Back", Command.BACK, 1);
public ClockCanvas(MainController main){
this.main = main;
this.addCommand(exitCommand);
this.addCommand(backCommand);
this.setCommandListener(this);
new Thread(this).start();
}
public void run(){
while(true){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
repaint();
}
}
public void paint(Graphics g){
g.setColor(0xFFFFFF);
g.fillRect(0, 0, this.getWidth(), this.getHeight());
drawTime(g, getCurrentTime());
}
public void commandAction(Command c, Displayable dis){
if(c == exitCommand){
main.quit();
}
if(c == backCommand){
main.init();
}
}
public void drawTime(Graphics g, String str){
System.out.println(str);
g.setColor(0x000000);
// g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.SIZE_MEDIUM, Font.STYLE_BOLD));
g.drawString(str, 10, 100, Graphics.TOP | Graphics.LEFT);
}
public String getCurrentTime(){
return new Time().toString();
}
}
class Time extends Calendar{
private int year;
private String month;
private String date;
private String hour;
private String minute;
private String second;
public Time(){
setYear(getInstance().get(YEAR));
setMonth(getInstance().get(MONTH));
setDate(getInstance().get(DATE));
setHour(getInstance().get(HOUR_OF_DAY));
setMinute(getInstance().get(MINUTE));
setSecond(getInstance().get(SECOND));
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public String getMonth() {
return month;
}
public void setMonth(int month) {
if(month < 10)
this.month = "0" + (month + 1);
else
this.month = String.valueOf((month + 1));
}
public String getDate() {
return date;
}
public void setDate(int date) {
if(date < 10)
this.date = "0" + date;
else
this.date = String.valueOf(date);
}
public String getHour() {
return hour;
}
public void setHour(int hour) {
if(hour < 10)
this.hour = "0" + hour;
else
this.hour = String.valueOf(hour);
}
public String getMinute() {
return minute;
}
public void setMinute(int minute) {
if(minute < 10)
this.minute = "0" + minute;
else
this.minute = String.valueOf(minute);
}
public String getSecond() {
return second;
}
public void setSecond(int second) {
if(second < 10)
this.second = "0" + second;
else
this.second = String.valueOf(second);
}
public String toString(){
return year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second;
}
protected void computeFields() {
}
protected void computeTime() {
}
}
现在无聊随便写个时间的显示,也别忘了这些方法,虽然eclipse都会自动提醒,但是还是在vim中写出来才会将基本永远的记住,怎么说来着,重要的在于基础,有基础了学什么也就顺手了。:)
/**
* @Author : DavidZou
* @Date: 2008/09/10
*
*/
public class StartMIDlet extends MIDlet {
private MainController main;
public StartMIDlet() {
main = new MainController(this);
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
main = null;
}
protected void pauseApp() {
}
protected void startApp() throws MIDletStateChangeException {
main.init();
}
}
class MainController {
private StartMIDlet midlet;
private FirstForm form;
private ClockCanvas clock;
public MainController(StartMIDlet midlet){
this.midlet = midlet;
}
public void init(){
if(form == null)
form = new FirstForm("The First", this);
setCurrent(form);
}
public void clock(){
clock = new ClockCanvas(this);
setCurrent(clock);
}
public void setCurrent(Displayable dis){
Display.getDisplay(midlet).setCurrent(dis);
}
public void quit(){
try {
midlet.destroyApp(false);
} catch (MIDletStateChangeException e) {
e.printStackTrace();
}
midlet.notifyDestroyed();
}
}
class FirstForm extends Form implements CommandListener{
private MainController main;
private Command exitCommand = new Command("Exit", Command.EXIT, 0);
private Command clockCommand = new Command("Clock", Command.ITEM, 1);
private TextField tf = new TextField("Time:", "", 100, TextField.ANY | TextField.UNEDITABLE);
public FirstForm(String title, MainController main){
super(title);
this.main = main;
this.addCommand(exitCommand);
this.addCommand(clockCommand);
this.append(tf);
tf.setString(new Time().toString());
this.setCommandListener(this);
}
public void commandAction(Command c, Displayable d){
if(c == exitCommand){
main.quit();
}
if(c == clockCommand){
main.clock();
}
}
public String getString(){
return tf.getString();
}
public void setString(String str){
tf.setString(str);
}
}
class ClockCanvas extends Canvas implements Runnable, CommandListener{
private MainController main;
private Command exitCommand = new Command("Exit", Command.EXIT, 0);
private Command backCommand = new Command("Back", Command.BACK, 1);
public ClockCanvas(MainController main){
this.main = main;
this.addCommand(exitCommand);
this.addCommand(backCommand);
this.setCommandListener(this);
new Thread(this).start();
}
public void run(){
while(true){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
repaint();
}
}
public void paint(Graphics g){
g.setColor(0xFFFFFF);
g.fillRect(0, 0, this.getWidth(), this.getHeight());
drawTime(g, getCurrentTime());
}
public void commandAction(Command c, Displayable dis){
if(c == exitCommand){
main.quit();
}
if(c == backCommand){
main.init();
}
}
public void drawTime(Graphics g, String str){
System.out.println(str);
g.setColor(0x000000);
// g.setFont(Font.getFont(Font.FACE_SYSTEM, Font.SIZE_MEDIUM, Font.STYLE_BOLD));
g.drawString(str, 10, 100, Graphics.TOP | Graphics.LEFT);
}
public String getCurrentTime(){
return new Time().toString();
}
}
class Time extends Calendar{
private int year;
private String month;
private String date;
private String hour;
private String minute;
private String second;
public Time(){
setYear(getInstance().get(YEAR));
setMonth(getInstance().get(MONTH));
setDate(getInstance().get(DATE));
setHour(getInstance().get(HOUR_OF_DAY));
setMinute(getInstance().get(MINUTE));
setSecond(getInstance().get(SECOND));
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public String getMonth() {
return month;
}
public void setMonth(int month) {
if(month < 10)
this.month = "0" + (month + 1);
else
this.month = String.valueOf((month + 1));
}
public String getDate() {
return date;
}
public void setDate(int date) {
if(date < 10)
this.date = "0" + date;
else
this.date = String.valueOf(date);
}
public String getHour() {
return hour;
}
public void setHour(int hour) {
if(hour < 10)
this.hour = "0" + hour;
else
this.hour = String.valueOf(hour);
}
public String getMinute() {
return minute;
}
public void setMinute(int minute) {
if(minute < 10)
this.minute = "0" + minute;
else
this.minute = String.valueOf(minute);
}
public String getSecond() {
return second;
}
public void setSecond(int second) {
if(second < 10)
this.second = "0" + second;
else
this.second = String.valueOf(second);
}
public String toString(){
return year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second;
}
protected void computeFields() {
}
protected void computeTime() {
}
}