尝试在java程序中实现CardLayout
我对java非常陌生,在我的java客户机/服务器程序中,我很难实现使用卡片布局从用户处获取名称并将名称前置到消息中 仅供参考:括号都在正确的位置,只需在线查看即可 这是我的ChatHandler代码:尝试在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
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();
}
}