Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Залипание кнопки


Автор: initmax 1.4.2010, 13:42

Доброго набросал GUI клиент/серверного приложения 
по кноке @start server@ запускается сервер который в бесконечном цикле прослушивает порт

вот таким вот образом

Код

 try {
            welcomeSocket = new ServerSocket(strPort);
        } catch (IOException ex) {
            Logger.getLogger(GuiForm.class.getName()).log(Level.SEVERE, null, ex);
        }
         while(true)
         {
            
            try {
                connectionSocket = welcomeSocket.accept();
            } catch (IOException ex) {
                Logger.getLogger(GuiForm.class.getName()).log(Level.SEVERE, null, ex);
            }
            try {
                inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
            } catch (IOException ex) {
                Logger.getLogger(GuiForm.class.getName()).log(Level.SEVERE, null, ex);
            }
         
            try {
                outToClient = new DataOutputStream(connectionSocket.getOutputStream());
            } catch (IOException ex) {
                Logger.getLogger(GuiForm.class.getName()).log(Level.SEVERE, null, ex);
            }
            try {
                clientSentence = inFromClient.readLine();
            } catch (IOException ex) {
                Logger.getLogger(GuiForm.class.getName()).log(Level.SEVERE, null, ex);
            }
            System.out.println("Received: " + clientSentence);
            capitalizedSentence = clientSentence.toUpperCase() + '\n';
            try {
                outToClient.writeBytes(capitalizedSentence);
            } catch (IOException ex) {
                Logger.getLogger(GuiForm.class.getName()).log(Level.SEVERE, null, ex);
            }
         }


во время запуска сервер стартует и успешно работает, но кнока проваливается и залипает, так же не работают остальные кнопки/компоненты GUI
как это побороть?

Автор: jk1 1.4.2010, 14:39
Чтобы избавиться от "залипания" слушайте порт в отдельном потоке. Для Swing-приложений удобно использовать класс SwingWorker, как раз для таких задач.
http://developers.sun.ru/content/view/159/89/

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