- Beranda
- Komunitas
- Tech
- Programmer Forum
[Buntu Need Help]Segitiga Bergerak Java J2ME[Butuh Petunjuk]


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,
mohon petunjuknya bagi yang ikhlas memberikan petunjuknya ane doain amal dan ibadahnnya diterima oleh yang maha kuasa..
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 memberi reputasi
1
1.2K
8


Komentar yang asik ya
Urutan
Terbaru
Terlama


Komentar yang asik ya
Komunitas Pilihan