هذه اول بداية لى مع ال J2ME
----------------------------------------------
من المعروف فى ال J2SE عندما نريد عمل زرار نستعمل ال Class JButton
و إذا اردنا عمل Panel لنضع عليها الزراير نستعمل ال JPanel و هناك ال LayoutManager
اما الوضع فى الME غريب شوية
انا بعمل برنامج الة حاسبة لإستكشاف الامر ( عملت 9 زراير و ظهروا فعلاً لكن ليس بشكل الزرار المعتاد كمافى ال SE ) هل هناك طريقة ؟!
و عملت commanlistener على كل زرار بحيث اول ما أضغط على الزر يتعرض قيمته فى textfield لكن بردو مش شغال .
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Item;
import javax.microedition.lcdui.StringItem;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.*;
public class HelloME extends MIDlet {
private Form form = null;
private Display display = null;
private TextField textField = null;
private String[] str = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
private StringItem[] buttons;
private MyCommandListener myCommandListener;
public HelloME() {
myCommandListener = new MyCommandListener();
display = Display.getDisplay(this);
form = new Form("Hello JME");
createCalcGUI();
}
private void createCalcGUI() {
textField = new TextField(null, null, 30, TextField.ANY);
form.append(textField);
/////////////////////////////////////////
buttons = new StringItem[str.length];
for (int i = 0; i < str.length; i++) {
buttons = new StringItem("", str, Item.HYPERLINK);
form.append(buttons);
}
}
public void startApp() {
display.setCurrent(form);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
private class MyCommandListener implements CommandListener {
public void commandAction(Command c, Displayable d) {
if (c.getLabel().equals(buttons[0].getText())) {
textField.setString(buttons[0].getText());
} else if (c.getLabel().equals(buttons[1].getText())) {
textField.setString(buttons[1].getText());
} else if (c.getLabel().equals(buttons[2].getText())) {
textField.setString(buttons[2].getText());
}
}
}
}اعذرونى لو الإسئلة مش و لابد دى أول مرة أكتب فيها JME .
شكراً
