Javaでシンプルなチャットインターフェイスを作成する方法

Javaでシンプルなチャット画面を作るときには、Java Swingライブラリが利用でき、以下のような簡単なサンプルコードがあります。

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class ChatInterface extends JFrame {
    private JTextArea chatArea;
    private JTextField messageField;

    public ChatInterface() {
        setTitle("Chat Interface");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(400, 300);

        chatArea = new JTextArea();
        chatArea.setEditable(false);
        JScrollPane chatScrollPane = new JScrollPane(chatArea);

        messageField = new JTextField();
        messageField.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String message = messageField.getText();
                chatArea.append("You: " + message + "\n");
                messageField.setText("");
            }
        });

        add(chatScrollPane, BorderLayout.CENTER);
        add(messageField, BorderLayout.SOUTH);

        setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new ChatInterface();
            }
        });
    }
}

JFrame をウィンドウコンテナとし、ウィンドウ内にチャット履歴を表示する JTextArea とメッセージを入力する JTextField を追加したシンプルなチャット画面です。

chatAreaをJScrollPaneで囲ってスクロールできるようにして、チャットの履歴が多くなっても閲覧できるようにする。

メッセージフィールドにaddActionListenerを使用して、ユーザーが入力フィールドでEnterキーを押したときに、入力されたメッセージを取得し、チャットログに表示して、入力フィールドをクリアします。

最後に、main メソッドで SwingUtilities.invokeLater を使ってプログラムを開始する。

bannerAds