zoukankan      html  css  js  c++  java
  • (原创)小程序设计(四)一起来聊天吧!

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

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

      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.客户端显示当前参与聊天的数目

  • 相关阅读:
    Oracle的数据伪列(ROWNUM)
    数据库的多表查询(详细案例分析)
    计算1至n的k次方的和
    位数对调(代码重构)
    java实现汉诺塔算法
    线程与进程详解
    java中properties的使用实例
    java中同步(synchronized)详解
    文件的拷贝操作
    文件的读取操作
  • 原文地址:https://www.cnblogs.com/BigJunOba/p/9030005.html
Copyright © 2011-2022 走看看