euzerAvatar border
TS
euzer
[Buntu Need Help]Segitiga Bergerak Java J2ME[Butuh Petunjuk]
Dapet tugas buat bikin segitiga gerak pake java j2me, ane dah coba utak atik tetep aja bingung error nya dimana, waktu di build n di run sih bisa, tapi waktu masuk ke display segitiga yang gerak gak terjadi apa2, tapi di wireless tool kit malah keluar pesan error..

neh script javanya,

Code:
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
import javax.microedition.midlet.*;
import java.io.*;

public class GerakSegitiga extends MIDlet implements CommandListener{
private Display display;
private Form form;
private Form form2;
private TextBox textbox;
private TextField name;
private TextField pass;
private Command exit;
private Command login;
private Command launch;
private Command launch2;
private Command Logout;
private Command back;
private Command back2;
private List list;
private Alert alert;
public MainCanvas canvas;

public GerakSegitiga(){
try{
MainCanvas canvas = new MainCanvas(this);
display=Display.getDisplay(this);
login=new Command("Login",Command.OK,1);
exit=new Command("Exit",Command.EXIT,1);
launch=new Command("Launch",Command.OK,1);
launch2=new Command("Launch",Command.OK,1);
back=new Command("Back",Command.BACK,1);
Logout=new Command("Logout",Command.BACK,1);
list = new List("Pilih bentuk", List.IMPLICIT);

name = new TextField("Name:", "", 30, TextField.ANY);
pass = new TextField("Password:", "", 10, TextField.PASSWORD);

form=new Form("Login");
form.append(name);
form.append(pass);
form.addCommand(exit);
form.addCommand(login);
form.setCommandListener(this);
//----------------------------------------------------------//
form2=new Form("Profil");
form2.append("Nama : Jack Wilshere");
form2.append("TTL : English");
form2.append("Pekerjaan : Football Player");
Image gbr=Image.createImage("/arsenal.png");
form2.append(gbr);
form2.addCommand(Logout);
form2.addCommand(launch);
form2.setCommandListener(this);
//----------------------------------------------------------//
list.append("Segitiga", null);
list.append("Bujur Sangkar", null);
list.append("Jajaran Genjang", null);
list.append("Trapesium", null);
list.append("Layang-layang", null);
list.append("Tidak Teratur", null);
list.addCommand(back);
list.addCommand(launch2);
list.setCommandListener(this);
//----------------------------------------------------------//

}catch(IOException e){}
}

public void cekUser(String name, String pass) {
if (name.equals("") && pass.equals("")) {
display.setCurrent(form2);
}
else{
Alert alert = new Alert("Peringatan","Kombinasi Name & Password tidak sesuai!",null, AlertType.INFO);
display.setCurrent(alert);
}
}

public void startApp(){
display.setCurrent(form);
}
public void pauseApp(){
}
public void destroyApp(boolean unconditional){
}
public void commandAction(Command command, Displayable displayable){
if(command==login){
cekUser(name.getString(), pass.getString());
}
else if(command==back){
display.setCurrent(form2);
}
else if(command==Logout){
display.setCurrent(form);
}
else if(command==launch){
display.setCurrent(list);
}
else if (command == launch2 || command == List.SELECT_COMMAND) {
int index = list.getSelectedIndex();
if (index==0){
back2 = new Command("Back", Command.BACK, 0);
canvas.mulai();
canvas.addCommand(back2);
canvas.setCommandListener(new CommandListener(){
public void commandAction(Command c, Displayable s) {
notifyDestroyed();
}
});
display.setCurrent(canvas);
}
else{
Alert alert = new Alert("Bentuk","Pilihanmu " + list.getString(index) + ".",null, AlertType.INFO);
display.setCurrent(alert, list);
}
}
else if(command==exit){
notifyDestroyed();
}

}
}


class MainCanvas extends GameCanvas implements Runnable {
public MIDlet mainMidlet;
public Graphics g;
public static int SLEEP_TIME = 1000/30;
public int ballX;
public int ballY;
public int speed_ballX;
public int speed_ballY;

public static int NUMBER_OF_MENU=4;

protected MainCanvas(MIDlet midlet) {
super(false);
mainMidlet = midlet;
this.setFullScreenMode(true);
}

public void mulai(){
Thread runner = new Thread(this);
runner.start();
}

public void run() {
g = getGraphics();

ballX = 60;
speed_ballX = 3;
while(true){
g.setColor(0x000000);
g.fillRect(0, 0, getWidth(), getHeight());
drawCircle(ballX, ballY, 10, 0xffffff);
flushGraphics();
try {
Thread.sleep(SLEEP_TIME);
} catch (InterruptedException e) {
e.printStackTrace();
}
ballX+=speed_ballX;
if(ballX>getWidth()){
speed_ballX*=-1;
}else if(ballX<0){
speed_ballX*=-1;
}
}
}

public void drawCircle(int x, int y, int diameter, int color){
g.setColor(color);
g.fillTriangle(x-diameter/2, 10, diameter, diameter, 10, getHeight()-10);
}
}



mohon petunjuknya bagi yang ikhlas memberikan petunjuknya ane doain amal dan ibadahnnya diterima oleh yang maha kuasa..
nona212
nona212 memberi reputasi
1
1.2K
8
GuestAvatar border
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Urutan
Terbaru
Terlama
GuestAvatar border
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Komunitas Pilihan