Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Работа с сетью > Процесс выполнения Апплета


Автор: Langdon 5.3.2009, 18:20
Такая беда, написал небольшой код но при выполнении Applet Viewer ничего не отображает пока незакончиться передача файла на сервер, только потом показывает все что происходило, до этого тупо белый фон. Я недавно на Java начал, так что приму любую критику. А если поставить событие нажатия кнопки, тупо Applet Viewer виснет до конца выполнения.

Код

InputStream in = new FileInputStream(outArxFile);
            OutputStream z = fc.put(remote);
            
            int by = 0;
            int length_put = 0;
            int current = 0;
            jTextArea1.append("--while--\n");
            byte[] b = new byte[1024];
            
            while ((by = in.read(b)) != -1) {
                length_put++;
                current += by;
                
                jProgressBar1.setValue(current);
                z.write(b, 0, b.length);
                //z.flush();
            }
            jTextArea1.append("--end.while--\n\n");            
            in.close();
            z.close();
            

Автор: goodday1941 5.3.2009, 18:22
создай поток.. в нем отправляй файл

Автор: Langdon 5.3.2009, 18:24
А поподробнее можно?! Поток?

Автор: goodday1941 5.3.2009, 18:24
Код

new Thread(){
public void run(){
InputStream in = new FileInputStream(outArxFile);
            OutputStream z = fc.put(remote);
            
            int by = 0;
            int length_put = 0;
            int current = 0;
            jTextArea1.append("--while--\n");
            byte[] b = new byte[1024];
            
            while ((by = in.read(b)) != -1) {
                length_put++;
                current += by;
                
                jProgressBar1.setValue(current);
                z.write(b, 0, b.length);
                //z.flush();
            }
            jTextArea1.append("--end.while--\n\n");            
            in.close();
            z.close();
}
}.start();


ну и файналами сделай переменные которые юзаются в потоке

Добавлено через 3 минуты и 2 секунды
jTextArea1 - должна біть определена как final

Добавлено через 3 минуты и 40 секунд
и outArxFile тоже final

Автор: Langdon 5.3.2009, 18:35
 smile спасибо  smile поехал дальше познавать Java  smile 

Кстати поток это - new Thread() {}?

Автор: goodday1941 5.3.2009, 18:58
да new Thread это создание потока

Добавлено через 1 минуту и 3 секунды
PS. пометь тему как решенная (правый верхний угол, недовольный смайлик)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)