码迷,mamicode.com
首页 > 其他好文 > 详细

(原创)小程序设计(四)一起来聊天吧!

时间:2018-05-12 22:32:15      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:功能   end   ring   控制台   技术   成员   inf   sys   blog   

  解决上述问题之后,作为“客户”的我,又觉得启动的时候启动的是若干个客户端窗口文件和一个服务器文件,服务器的输出都是在控制台输出的,有了之前解决问题的经验,考虑能不能写一个服务器窗口文件,将服务器的输出都放在窗口里面,这样启动的时候都是启动的是窗口文件,个人感觉好一些。

  于是有了修改后的第二版程序:

  1.将服务器输出的文本内容在窗口显示出来

  2.添加关闭服务器的按钮

  

  为了解决这些问题,特地

  参考了 http://www.codeweblog.com/%E5%AE%9E%E7%8E%B0%E5%B0%86%E6%8E%A7%E5%88%B6%E5%8F%B0%E8%BE%93%E5%87%BA%E4%BF%A1%E6%81%AF%E8%BD%AC%E5%88%B0jtextarea%E4%B8%AD/

  这篇博客,感觉这篇博客思路很奇妙啊,

  主要运用了重写system相关方法的办法,可以将所有的syso代码块的输出都输出到area当中去。

  添加代码为:

public void setConsoleMessateToArea() {
        
        OutputStream textAreaStream = new OutputStream() {
            
            @Override
            public void write(int b) throws IOException {
                area.append(String.valueOf((char)b));
            }
            
            public void write(byte b[], int off, int len) throws IOException {
                area.append(new String(b, off, len));
            }
            
            public void write(byte b[]) throws IOException {
                area.append(new String(b));
            }
        };
        
        PrintStream myOut = new PrintStream(textAreaStream);
        System.setOut(myOut);
        System.setErr(myOut);
        
    }

  效果展示图:

技术分享图片

   

  

  可能会有的第三版程序:

  1.添加强制某一个客户端下线功能(不过你一个服务器做这个是不是不太好?)

  2.服务器显示出所有参与聊天的成员

  3.客户端显示当前参与聊天的数目

(原创)小程序设计(四)一起来聊天吧!

标签:功能   end   ring   控制台   技术   成员   inf   sys   blog   

原文地址:https://www.cnblogs.com/BigJunOba/p/9030005.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!