Java实现基于Socket的聊天室(二)客户端

客户端部分搭建思路及实现

在阅读本篇之前,建议先了解Socket的基础相关知识,本文接上篇《Socket基础知识》:https://blog.csdn.net/Jiang216/article/details/108070585 

1.1 构建客户端可视化界面

 搭建ClientView类,该类继承JFrame类,并实现ActionListener, KeyListener两个事件监听接口。添加图形操作控件如下:

    private JTextArea chatArea;//聊天内容区
    private JTextField inputMessage;//聊天输入框
    private JTextField inputName;//用户名输入框
    private JButton btnSend;//发送按钮
    private JLabel labelNick;
    private JPanel jp1,jp2;

    private JScrollPane scrollPane;
    private JLabel labelHost;
    private JLabel labelPort;
    private JTextField hostAddress;//服务器地址输入框
    private JTextField hostPort;//服务器端口输入框
    private JButton btnConnect;//连接/断开服务器按钮

    private void initView(){
        chatArea=new JTextArea(20,20);
        chatArea.setEditable(false);

        scrollPane=new JScrollPane(chatArea);
        inputMessage=new JTextField(15);
        btnSend=new JButton("发送");

        jp1=new JPanel();
        labelHost=new JLabel("主机地址");
        hostAddress=new JTextField(15);
        hostAddress.setText("localhost");
        labelPort=new JLabel("端口号");
        hostPort=new JTextField(4);
        hostPort.setText("8765");
        btnConnect=new JButton("连接");

        jp1.add(labelHost);
        jp1.add(hostAddress);
        jp1.add(labelPort);
        jp1.add(hostPort);
        jp1.add(btnConnect);

        labelNick=new JLabel("昵称:");
        inputName=new JTextField(8);
        jp2=new JPanel();
        jp2.add(labelNick);
        jp2.add(inputName);
        inputName.setText("用户0");
        jp1.setLayout(new FlowLayout(FlowLayout.CENTER));
        jp2.add(inputMessage);
        jp2.add(btnSend);
        jp2.setLayout(new FlowLayout(FlowLayout.CENTER));

        add(jp1,BorderLayout.NORTH);
        add(scrollPane,BorderLayout.CENTER);
        add(jp2,BorderLayout.SOUTH);
        setTitle("聊天室");
        setSize(500,500);
        setLocation(450,150);
        
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值