اخوتي الاعضاء والمشرفين في المنتدى
السلام عليكم
لقد قمت بقراءة ملف نصي كبير من الريسورس وهو يتأخر بالفتح لذلك يجب عمل شاشة انتظار
وقد عملت دايلوج خاص للأنتظار من خلال Thread
لكنه لم يعمل
ارجوا المساعدة والتعديل على الكود ادناه وشرح
//import com.sun.lwuit.Image;
//import com.sun.lwuit.*;
import com.sun.lwuit.Command;
import com.sun.lwuit.Dialog;
import com.sun.lwuit.Display;
import com.sun.lwuit.Form;
import com.sun.lwuit.Label;
import com.sun.lwuit.TextArea;
import javax.microedition.midlet.MIDlet;
import com.sun.lwuit.events.ActionEvent;
import com.sun.lwuit.events.ActionListener;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
public class HelloMidlet extends MIDlet implements ActionListener {
private TextArea demoText;
private Dialog demoDialog,dialog;
private Command enter;
public void startApp() {
//init the LWUIT Display
Display.init(this);
Form progressForm = new Form("Progress");
enter=new Command("Enter");
demoDialog = new Dialog("mmm" );
demoDialog.setBorderPainted(false);
demoDialog.setFocus(false);
demoText=new TextArea(readHelpText());
demoDialog.addComponent(demoText);
demoText.setFocusable(false);
demoText.setEditable(false);
demoText.setFocusable(false);
demoText.setGrowByContent(true);
demoText.setUIID(null);
progressForm.addCommand(enter);
progressForm.setCommandListener(this);
demoDialog.setCommandListener(this);
//progressForm.addComponent(demoDialog);
progressForm.show();
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
private String readHelpText()
{
InputStream is = getClass().getResourceAsStream("help.txt");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
byte[] bufferByte = new byte[1];
while (is.read(bufferByte) != -1) {
baos.write(bufferByte);
}
return new String(baos.toByteArray(), "UTF-8");
} catch (Exception e) {
System.out.println("Unable to create stream");
}
return null;
}
public void actionPerformed(ActionEvent ae){
if(ae.getCommand()==enter)
{
if(Display.getInstance().isEdt())
{
demoDialog.show();
}
{
WaitMessage waitMessage = new WaitMessage();
Thread thread = new Thread (waitMessage);
thread.setPriority(Thread.MAX_PRIORITY);
Display.getInstance().callSeriallyAndWait(thread);
thread.start();
}
}
}
public class WaitMessage implements Runnable {
public void run() {
Dialog waitMessage = new Dialog("Please wait");
waitMessage.addComponent(new Label("Loading..."));
waitMessage.setDialogType(Dialog.TYPE_INFO);
waitMessage.show();
}
}
}
وجزاكم الله خير