반응형
읽기전에 손가락 한번 클릭~ >_<
고마워요 ~ Chu ~ ♥
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.TextBox;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.TextBox;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
public class AlertTestMIDlet extends MIDlet implements CommandListener {
private TextBox textbox;
private Command ok_cmd;
private Command exit_cmd;
private Command back_cmd;
private Display display;
private Alert alert;
public AlertTestMIDlet() {
ok_cmd = new Command("OK", Command.OK, 1);
exit_cmd = new Command("Exit", Command.EXIT, 1);
back_cmd = new Command("Back", Command.BACK, 1);
}
public void startApp() {
textbox = new TextBox("5개의 문자를 입력하세요",
"", 20, TextField.ANY);
textbox.addCommand(ok_cmd);
textbox.addCommand(exit_cmd);
display = Display.getDisplay(this);
textbox.setCommandListener(this);
display.setCurrent(textbox);
}
public void pauseApp() { }
public void destroyApp(boolean arg0) { }
public void commandAction(Command cmd, Displayable disp) {
if(cmd == ok_cmd){
String tb = textbox.getString();
if(tb.length() == 5){
Image ok_img = null;
try{
ok_img = Image.createImage("/MID.PNG");
} catch ( Exception e ){
System.out.println("ok_img.png is not created.");
e.printStackTrace();
}
alert = new Alert("Alert", "축하!\n 정확하게 입력하였습니다",
ok_img, AlertType.INFO);
alert.addCommand(back_cmd);
alert.setCommandListener(this);
alert.setTimeout(50000);
display.setCurrent(alert, textbox);
} else {
Image err_img = null;
try{
err_img = Image.createImage("/MID_err.PNG");
} catch ( Exception e ){
System.out.println("err_img.png is not created");
e.printStackTrace();
}
Alert alert = new Alert("Alert", " 경고!! \n 다시 입력하세요",
err_img, AlertType.ERROR);
alert.addCommand(back_cmd);
alert.setCommandListener(this);
alert.setTimeout(50000);
display.setCurrent(alert, textbox);
}
} else if ( cmd == exit_cmd){
notifyDestroyed();
} else if ( cmd == back_cmd ){
startApp();
}
}
} // 클래스 끝
public void destroyApp(boolean arg0) { }
public void commandAction(Command cmd, Displayable disp) {
if(cmd == ok_cmd){
String tb = textbox.getString();
if(tb.length() == 5){
Image ok_img = null;
try{
ok_img = Image.createImage("/MID.PNG");
} catch ( Exception e ){
System.out.println("ok_img.png is not created.");
e.printStackTrace();
}
alert = new Alert("Alert", "축하!\n 정확하게 입력하였습니다",
ok_img, AlertType.INFO);
alert.addCommand(back_cmd);
alert.setCommandListener(this);
alert.setTimeout(50000);
display.setCurrent(alert, textbox);
} else {
Image err_img = null;
try{
err_img = Image.createImage("/MID_err.PNG");
} catch ( Exception e ){
System.out.println("err_img.png is not created");
e.printStackTrace();
}
Alert alert = new Alert("Alert", " 경고!! \n 다시 입력하세요",
err_img, AlertType.ERROR);
alert.addCommand(back_cmd);
alert.setCommandListener(this);
alert.setTimeout(50000);
display.setCurrent(alert, textbox);
}
} else if ( cmd == exit_cmd){
notifyDestroyed();
} else if ( cmd == back_cmd ){
startApp();
}
}
} // 클래스 끝
기존 책의 소스를 참고했고,
불 필요한 부분 없애고.... 있어야 되는 부분 추가시켰음...
추가부분 : 경고 메시지 후 디폴트값으로 지정되어 있는 (2000) : 2초 의 값을
메소드 를 이용하여 50초로 지정 : alert.setTimeOut(50000)
경고 메시지 출력 후 되돌아 가기 부분 : back 버튼 구현이 되어있지 않아,
새롭게 추가 시킴 - back_cmd 리스너 등록 및 설정
경고 메시지 출력 후 되돌아 가기 부분 : back 버튼 구현이 되어있지 않아,
새롭게 추가 시킴 - back_cmd 리스너 등록 및 설정
참고이미지 ㅋㅋㅋㅋ
반응형