私は独学で Java を学んでおり、非常に推奨されている Deitel の本を使用しています。
そこで、本「Java: How to Program」の図 27.5-8 をコピーしてみました。サーバーには.5の数字が必要で、クライアントには.7の数字が必要だと思いました。そのため、同じプロジェクトで両方を作成し、メイン クラス (図 .6 と .8) を組み合わせて、プログラムを実行するとサーバーとクライアントの両方が起動するようにしました。しかし、netBeans にコンパイルして実行するように指示すると、サーバーとクライアント用にセットアップしたウィンドウが開きますが、textFields は有効になりません (接続を受信したときに想定されているため)。それらが互いに接続していないことを伝えます。
server.java ファイルと client.java ファイルは本にあるものとまったく同じでなければならないので、両方を起動するためにメイン ファイルを混ぜ合わせたときに失敗したに違いないと思います。これが私の結合されたメインファイルです。多分私はここで何か間違ったことをしましたか?
package server_client;
import javax.swing.JFrame;
public class Main {
public static void main(String[] args) {
Server application = new Server(); //create server
Client applicationClient; //declare client application
//if no command line args
if (args.length==0)
applicationClient = new Client ("127.0.0.1"); //connect to localhost
else
applicationClient = new Client (args[0]); //use args to connect
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
applicationClient.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
application.runServer(); //run server application
applicationClient.runClient(); //run client application
}//end main
}//end class Main