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 を使ってプログラムを開始する。