Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试在java程序中实现CardLayout_Java_Client Server_Names_Cardlayout_Prepend - Fatal编程技术网

尝试在java程序中实现CardLayout

尝试在java程序中实现CardLayout,java,client-server,names,cardlayout,prepend,Java,Client Server,Names,Cardlayout,Prepend,我对java非常陌生,在我的java客户机/服务器程序中,我很难实现使用卡片布局从用户处获取名称并将名称前置到消息中 仅供参考:括号都在正确的位置,只需在线查看即可 这是我的ChatHandler代码: import java.io.*; import java.net.*; import java.util.*; public class ChatHandler extends Thread{ Socket s; BufferedReader br; PrintWriter pw; Stri

我对java非常陌生,在我的java客户机/服务器程序中,我很难实现使用卡片布局从用户处获取名称并将名称前置到消息中

仅供参考:括号都在正确的位置,只需在线查看即可

这是我的ChatHandler代码:

import java.io.*;
import java.net.*;
import java.util.*;

public class ChatHandler extends Thread{
Socket s;
BufferedReader br;
PrintWriter pw;
String temp;
ArrayList <ChatHandler>handlers;

public ChatHandler(Socket s, ArrayList <ChatHandler>handlers){
    this.s = s;
    this.handlers = handlers;
}


public void run(){
    try{
        handlers.add(this);
        br = new BufferedReader(new InputStreamReader(s.getInputStream()));
        pw = new PrintWriter(s.getOutputStream(), true);
        temp = "";
        while((temp = br.readLine()) != null){
            for (ChatHandler ch : handlers){
                ch.pw.println(temp); 
            }
            System.out.println(temp);
        }
    }catch(IOException ioe){
        System.out.println(ioe.getMessage());      
    }finally{
        handlers.remove(this);
    }
}
}
这是聊天服务器代码:

import java.io.*;
import java.net.*;
import java.util.*;

public class ChatServer{
Socket s;
ArrayList <ChatHandler>handlers;
public ChatServer(){
    try{
        ServerSocket ss = new ServerSocket(3000);
        handlers = new ArrayList<ChatHandler>();
        for(;;){
            s = ss.accept();
            new ChatHandler(s, handlers).start();
        }
    }catch(IOException ioe){
        System.out.println(ioe.getMessage());
    }
}
public static void main(String[] args){
    ChatServer tes = new ChatServer(); 
}
}
import java.io.*;
导入java.net。*;
导入java.util.*;
公共类聊天服务器{
插座;
ArrayList处理程序;
公共聊天服务器(){
试一试{
ServerSocket ss=新的ServerSocket(3000);
handlers=newarraylist();
对于(;;){
s=ss.accept();
新建ChatHandler.start();
}
}捕获(ioe异常ioe){
System.out.println(ioe.getMessage());
}
}
公共静态void main(字符串[]args){
ChatServer tes=新的ChatServer();
}
}

那么您面临的问题是什么?我想向用户添加cardlayout方法和前置名称,但我不知道我需要在代码中的何处添加。共享
cardlayout
方法,您需要将其添加到聊天框代码中
run()
中的while方法中。
import java.io.*;
import java.net.*;
import java.util.*;

public class ChatServer{
Socket s;
ArrayList <ChatHandler>handlers;
public ChatServer(){
    try{
        ServerSocket ss = new ServerSocket(3000);
        handlers = new ArrayList<ChatHandler>();
        for(;;){
            s = ss.accept();
            new ChatHandler(s, handlers).start();
        }
    }catch(IOException ioe){
        System.out.println(ioe.getMessage());
    }
}
public static void main(String[] args){
    ChatServer tes = new ChatServer(); 
}
}