21xrx.com
2024-09-17 03:37:18 Tuesday
登录
文章检索 我的文章 写文章
Java编写简单聊天界面
2023-06-15 19:15:41 深夜i     --     --
Java Swing 聊天界面

我最近学习了Java编程,打算练手写一个简单的聊天界面,具体实现的过程如下。

首先,我新建了一个Java项目,创建了一个主类ChattingApp,用Java Swing库实现了GUI界面。代码如下:


import javax.swing.*;

import java.awt.*;

public class ChattingApp extends JFrame {

  private JPanel panel = new JPanel();

  private JTextArea chatArea = new JTextArea(20, 60);

  private JScrollPane scroll = new JScrollPane(chatArea);

  private JTextField messageBox = new JTextField(40);

  private JButton sendBtn = new JButton("发送");

  public ChattingApp() {

    super("简单聊天界面");

    setSize(800, 600);

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    chatArea.setEditable(false);

    panel.setLayout(new BorderLayout());

    panel.add(scroll, BorderLayout.CENTER);

    panel.add(messageBox, BorderLayout.NORTH);

    panel.add(sendBtn, BorderLayout.SOUTH);

    add(panel);

    setVisible(true);

  }

  public static void main(String[] args) {

    ChattingApp app = new ChattingApp();

  }

}

接着,我实现了用户在聊天窗口中发送消息时,将消息显示在聊天窗口上的功能,代码如下:


sendBtn.addActionListener(e -> {

  String message = messageBox.getText();

  if (message != null && !message.isEmpty()) {

    chatArea.append("Me: " + message + "\n");

    messageBox.setText("");

  }

});

最后,我还为聊天窗口添加了鼠标点击事件,当用户点击聊天窗口时,将自动将光标定位到发送消息的文本框中,代码如下:


chatArea.addMouseListener(new MouseAdapter() {

  @Override

  public void mouseClicked(MouseEvent e) {

    messageBox.requestFocus();

  }

});

三个

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复