100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > java 聊天室界面_java图形界面聊天室简版

java 聊天室界面_java图形界面聊天室简版

时间:2022-03-07 23:22:58

相关推荐

java 聊天室界面_java图形界面聊天室简版

这是服务端:

package server;

import javax.swing.*;

import java.awt.event.*;

import java.io.*;

import .*;

import java.util.Calendar;

public class Server extends JFrame implements ActionListener{

static JTextArea jta=null;

JTextField jtf=null;

JScrollPane jsp=null;

JButton jb_send=null;

JPanel jp=null;

static Socket socket=null;

static String text_message;

public static void main(String[] args) throws IOException {

ServerSocket server=null;

new Server();

try

{

server=new ServerSocket(8001);

socket=server.accept();

}

catch(Exception e)

{

System.out.println("不能监听:"+e);

}

while(true)

{

BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));

jta.append(br.readLine()+"\n");

}

}

public Server(){

jta=new JTextArea();

jta.setEditable(false);

jsp=new JScrollPane(jta);

jtf=new JTextField(20);

jp=new JPanel();

jb_send=new JButton("发送");

jb_send.addActionListener(this);

jp.add(jtf);

jp.add(jb_send);

this.add(jsp,"Center");

this.add(jp,"South");

this.setTitle("服务端");

this.setSize(300, 200);

this.setLocation(318,186);

this.setResizable(false);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public void actionPerformed(ActionEvent e) {

if(e.getSource()==jb_send)

{

if(jtf.getText().equals(""))

{

JOptionPane.showMessageDialog(null, "消息不能为空");

}

else

{

text_message=jtf.getText();

jta.append("服务端: "+Calendar.getInstance().getTime().toLocaleString()+" "+text_message+"\n");

PrintWriter pw;

try

{

pw = new PrintWriter(socket.getOutputStream(),true);

if(!text_message.equals(""))

{

pw.println("服务端: "+Calendar.getInstance().getTime().toLocaleString()+" "+text_message);

}

}

catch (IOException e1)

{

e1.printStackTrace();

}

jtf.setText("");

}

}

}

}

这是客户端:

package client;

import java.io.*;

import .*;

import java.util.*;

import java.awt.event.*;

import javax.swing.*;

public class Client extends JFrame implements ActionListener{

static JTextArea jta=null;

JTextField jtf=null;

JPanel jp=null;

JButton jb_send=null;

JScrollPane jsp=null;

static String text_message;

static Socket socket=null;

public static void main(String[] args) throws IOException {

new Client();

socket=new Socket("127.0.0.1",8001);

while(true)

{

BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));

jta.append(is.readLine()+"\n");

}

}

public Client()

{

jta=new JTextArea();

jta.setEditable(false);

jtf=new JTextField(20);

jb_send=new JButton("发送");

jb_send.addActionListener(this);

jp=new JPanel();

jsp=new JScrollPane(jta);

jp.add(jtf);

jp.add(jb_send);

this.add(jsp,"Center");

this.add(jp,"South");

this.setTitle("客户端");

this.setSize(300, 200);

this.setLocation(636,186);

this.setResizable(false);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==jb_send)

{

if(jtf.getText().equals(""))

{

JOptionPane.showMessageDialog(null, "消息不能为空");

}

else

{

text_message=jtf.getText();

try

{

PrintWriter pw=null;

pw=new PrintWriter(Client.socket.getOutputStream(),true);

if(!text_message.equals(""))

{

pw.println("客户端: "+Calendar.getInstance().getTime().toLocaleString()+" "+text_message);

}

}

catch(Exception e1)

{

e1.printStackTrace();

}

jta.append("客户端: "+Calendar.getInstance().getTime().toLocaleString()+" "+text_message+"\n");

jtf.setText("");

}

}

}

}

下面是效果图:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。