-1

我正在尝试在 java 中创建一个聊天程序,但是当我运行服务器表单时出现问题,我用来绘制的组件不会出现。

这是我在表单运行中使用的代码:

public void run() {

                Server s = new Server();
                s.setVisible(true);

                // Etablir la connexion
                try
        {
            ServerSocket ecoute;
            ecoute = new ServerSocket(1111);
            Socket service = null;
            System.out.println("Serveur en attente d'un client !");
            while(true)
            {

                service = ecoute.accept();
                System.out.println("Client connécté !");
                DataInputStream is = new DataInputStream(service.getInputStream());
                                s.jTextArea1.setText("Client dit : " + is.readUTF().toUpperCase());
                service.close();
            }
        }
        catch(IOException e)
        {
            e.printStackTrace();

        }
            }
4

1 回答 1

1

您说运行此代码时没有任何反应。方法的存在public void run()告诉我这是一个线程,或者至少是一个Runnable.

因为while(true),如果这个线程没有以正确的方式启动,它就不会独立运行;那就是它将支撑整个程序。

而不是打电话thread.run();,打电话thread.start();。在启动将与主线程并行运行的新线程后,这将为您调用 run 方法。

如果此代码不在线程中,而您只是public void run()偶然使用,那么它仍然会为您提供相同的问题。

有关详细信息,请参阅有关线程的文档

于 2013-03-03T16:13:45.370 回答