该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.net.Socket;

import javax.swing.JFrame;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import javax.swing.JTextField;

public class Client {

JTextArea jta;

JTextField jtf;

BufferedReader in;

PrintWriter out;

private void initGUI(){

JFrame f = new JFrame("Client");

f.setSize(400,300);

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jta = new JTextArea();

jta.setEditable(false);

f.add(new JScrollPane(jta));

jtf = new JTextField();

f.add(jtf,"South");

f.setVisible(true);

jtf.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

String text = jtf.getText();

jtf.setText("");

out.println(text);

out.flush();

}

});

}

private void initNet(){

try{

Socket s = new Socket("127.0.0.1",8186);

out = new PrintWriter(s.getOutputStream());

in = new BufferedReader(new InputStreamReader(s.getInputStream()));

}catch(Exception e){

e.printStackTrace();

}

}

private void receive(){

try{

while(true){

String str = in.readLine();

if(str==null){

return;

}

jta.append("˵"+str+"\n");

}

}catch(Exception e){

e.printStackTrace();

}

}

private Client(){

this.initGUI();

this.initNet();

}

public static void main(String[] args) {

Client c = new Client();

c.receive();

}

}

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.net.ServerSocket;

import java.net.Socket;

import java.util.ArrayList;

import java.util.List;

public class Server {

public static void main(String[] args) {

try{

ServerSocket ss = new ServerSocket(8186);

List sockets = new ArrayList();

while(true){

Socket s = ss.accept();

sockets.add(s);

Thread t1 = new ChatThread(s,sockets);

t1.start();

}

}catch(IOException e){

e.printStackTrace();

}

}

}

class ChatThread extends Thread{

Socket s;

List sockets;

public ChatThread(Socket s,List sockets){

this.s = s;

this.sockets = sockets;

}

public void run(){

try{

BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));

while(true){

String str = in.readLine();

for(int i=0;i

Socket s2 = (Socket)sockets.get(i);

PrintWriter out = new PrintWriter(s2.getOutputStream());

out.println(str);

out.flush();

}

}

}catch (Exception e) {}

finally{

try{

s.close();

}catch (Exception e) {}

}

}

}

java 叉号关闭_求助 java 如何编写JFrame窗体右上角红色打叉关闭按钮的事件?相关推荐

  1. java 设置窗体 无边框 关闭按钮_求助 java 如何编写JFrame窗体右上角红色打叉关闭按钮的事件?...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; impo ...

  2. java与数据库教程_[求助]Java与数据库的链接的教程or资料

    展开全部 JAVA连接数据库e68a843231313335323631343130323136353331333239303864主要有两种方式: 一是用JDBC-ODBC桥来连接 二是用相关厂商提 ...

  3. java图形界面 关闭_用 java编写的图形用户界面运行后怎么关不掉

    importjava.awt.*;importjavax.swing.*;publicclassGUIDemo{publicstaticvoidmain(String[]args){Framef=ne ...

  4. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  5. 自定义布局Dialog 自定义dialog右上角带叉号的dialog 点击右上角叉号关闭dialog

    话说之前写过一遍Android中常见的几种Dialog的介绍和基本用法,但是没有讲到实际项目中最常用到的自定义dialog.正好,马上项目要添加新模块,看到里面有用到自定义dialog部分,于是乎趁着 ...

  6. java 504错误怎么解决_求助java.lang.NoClassDefFoundError怎么解决,报错信息如下

    求助java.lang.NoClassDefFoundError怎么解决,报错信息如下 四月 14, 2018 11:03:07 上午 org.apache.catalina.startup.Embe ...

  7. java中for语句NS图表示_求助 java的 NS 图怎么写

    求助 java的 NS 图怎么写 我学过c的NS图  但是java你有很多类   甚至一个程序你就有几个类  或 方法  ,那怎么写NS图 搜索更多相关的解决方案: java  个类 -------- ...

  8. Java读取mapinfo格式_求助:如何把mapinfo格式的地图数据放到网页中显示

    声明,我可不是做广告哦 mapXtreme Java,是目前用于Internet或企业Intranet唯一的100%纯Java地图服务器.mapInfo mapXtreme Java与J2EE兼容,为 ...

  9. java是什么格式_是java格式

    错误:编码GBK的不可映射字符的解决办法 最近在重新补javaSE的基础,编辑器编写完代码以后,在控制台运行代码段的时候,出现了以下的错误提示:错误:编码GBK的不可映射字符 在通过查询谷哥和度娘以后 ...

最新文章

  1. C#操作WMI文章汇总
  2. WCF 绑定(Binding)
  3. Python_logging模块
  4. Linux 服务器必备的安全设置,建议收藏!
  5. AttributeError: module 're' has no attribute 'sub'
  6. REDIS 关键配置简述
  7. linux ls命令shell脚本位置,linux - shell脚本到ls并在ls上执行命令结果 - SO中文参考 - www.soinside.com...
  8. linux ntfs 3g6,CentOS6挂载读写NTFS分区(ntfs-3g)
  9. RabbitMQ修改默认端口:4369、5672、15672、25672
  10. python画图turtle小人_python海龟绘图怎么增加每次画圆的半径|海龟python做图教程...
  11. 线性表之顺序存储结构
  12. 有了这两本书,学习领域驱动设计会很容易
  13. python负数字符串转成_python 转字符
  14. fiddler Android下https抓包全攻略
  15. geoserver osm 导入_OSM导入PostGreSQL数据库 | 学步园
  16. RAKsmart日本服务器的综合性能评测
  17. 怪异盒模型和标准盒模型
  18. 云师大计算机考研考什么,云南师范大学研究生院,云师大考研复试好难啊。
  19. 注册美国AppleID
  20. 战“疫”进行时,企业远程办公指南

热门文章

  1. python实现模糊搜索_Python 代码实现模糊查询
  2. python列表元祖字典集合运算_Python基础5:列表 元祖 字典 集合 Json
  3. Docker实践(六)部署redis
  4. mysql数据库自增字段_mysql 数据库自增字段
  5. 下载keep运动软件_keep app下载-keep安卓版(运动健身) - 超好玩
  6. android 下载视频文件怎么打开,安卓手机支付宝文件夹下的视频文件是什么
  7. 在C#中引入延迟计算和公平调度
  8. 开源界也要注意,Apache 基金会与 GitHub 都受美国法律约束
  9. mysql master status_show master status为空解决办法
  10. android 应用置顶到最前端_uniApp / 小程序实现一个view滚动到一定高度置顶显示