الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة في شاشة الانتظار

بدأه نمرالعدوان في 20 أبريل 2011 · 3 رد · 972 مشاهدة · في JavaME
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخوتي الاعضاء والمشرفين في المنتدى

السلام عليكم

لقد قمت بقراءة ملف نصي كبير من الريسورس وهو يتأخر بالفتح لذلك يجب عمل شاشة انتظار

وقد عملت دايلوج خاص للأنتظار من خلال 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();

}

}

}

وجزاكم الله خير

تم تعديل هذه المشاركة بواسطة نمرالعدوان في 20 أبريل 2011 في 11:45

#2

هذا هو حل شاشة الانتظار ساضعه للفائدة العامة

//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,waitMessage;
   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("محمد" );
 waitMessage = new Dialog("انتظر");
waitMessage.addComponent(new Label("جاري التحميل...."));
waitMessage.setDialogType(Dialog.TYPE_INFO);
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.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)
    {




new Thread() {
public void run() {

Display.getInstance().callSerially(new Runnable(){
public void run() {
    demoDialog.show();
   waitMessage.dispose();
}
});
}
}.start();


 waitMessage.showModeless();
}

}
}








/
#3
import com.sun.lwuit.Command;

هل في مكتبة معينة اضيفها لكي يقبل برنامج هذا يعطيني البرنامج خطأ

#4

نعم اخي انها مكتبة لويت

اذهب الى هذه المشاركة لتحميل المكتبة ولمعرفة خواصها

وتجد هنا في المنتدى كيفية اضافتها الى النيتبينز

المشاركة هنا

تم تعديل هذه المشاركة بواسطة نمرالعدوان في 16 مايو 2011 في 17:44

مواضيع مشابهة