목차
- 자바 javac 명령으로 리눅스에서 자바 소스 코드 컴파일 및 실행하기 예제 이전 포스팅 참고 학습
- 자바 Swing 활용 버튼 UI 생성 및 클릭 이벤트 추가하기 예제 이전 포스팅 참고 학습
- 자바 Swing 활용 String 리스트 활용 리스트 박스 UI 생성하기 예제 이전 포스팅 참고 학습
- 서버 시작, 중지 버튼 및 시작 누를시 채팅방 목록 리스트 박스 UI 창 나오도록 구현 예제
- 시작 버튼 클릭시 채팅방 목록 리스트박스 UI 생성 및 중지 버튼 클릭시 채팅방 목록 UI 제거 예제
자바 javac 명령으로 리눅스에서 자바 소스 코드 컴파일 및 실행하기 예제 이전 포스팅 참고 학습
이전 포스팅에서는 리눅스 환경에서 자바 소스 코드를 컴파일하고 실행하는 방법을 다루었습니다. javac 명령어로 자바 소스 코드를 컴파일한 후 java 명령어로 실행하는 예제를 알아보았습니다. 따라서 본 포스팅의 자바 예제 코드를 직접 실행하기 위해서는 javac 명령어를 활용하여 자바 소스 코드를 컴파일하여 class 파일을 얻어야합니다. 만약 해당 내용을 잘 모르신다면 아래 링크를 참고해주세요.
2023.08.10 - [Linux] - [Linux/Java] 리눅스 우분투에서 java 컴파일 및 실행 예제(javac)
자바 Swing 활용 버튼 UI 생성 및 클릭 이벤트 추가하기 예제 이전 포스팅 참고 학습
다음으로 Swing을 사용하여 자바 애플리케이션에서 버튼 UI를 만들고 이 버튼에 클릭 이벤트를 추가하는 방법에 대해서도 알아보았습니다. GUI에서 버튼을 누를 때 내가 원하는 코드가 실행되도록 하는 예제가 포함되어있습니다. 따라서 자바에서 Swing을 활용하여 버튼을 만들고 클릭 이벤트를 설정하는 방법이 궁금하시다면 아래 링크를 참고해주세요.
2023.09.20 - [Java] - [Java/Linux] 자바 Swing 활용 버튼 UI 생성 및 클릭 이벤트 추가 예제(JButton, addActionListener)
자바 Swing 활용 String 리스트 활용 리스트 박스 UI 생성하기 예제 이전 포스팅 참고 학습
마지막으로 Swing을 사용하여 문자열 리스트를 만들고 이를 리스트 박스 UI로 표시하는 방법과 예제에 대해 알아보았습니다. 이를 통해 사용자에게 리스트 형식으로 정보를 표시할 수 있습니다. 이러한 리스트 박스를 활용하여 채팅방 프로그램 개발시 서버에서 생성된 채팅방 목록을 확인할 수 있도록 구현할 예정입니다. 만약 Swing으로 리스트 박스 생성 방법을 아직 모르신다면 아래 링크를 참고해주세요.
2023.09.21 - [Java] - [Java/Linux] 자바 Swing 활용 텍스트 리스트 박스 만들기 예제(String Array)
서버 시작, 중지 버튼 및 시작 누를시 채팅방 목록 리스트 박스 UI 창 나오도록 구현 예제
아래는 서버를 시작하고 중지할 수 있는 버튼 UI를 만들고, 서버를 시작할 때 채팅방 목록을 나타내는 리스트 박스 UI 창을 띄우는 예제입니다.
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ServerControlExample {
public static void main(String[] args) {
JFrame frame = new JFrame("Server Control");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
JButton startButton = new JButton("Start Server");
JButton stopButton = new JButton("Stop Server");
JList<String> chatRoomList = new JList<>(new DefaultListModel<>());
JPanel buttonPanel = new JPanel();
buttonPanel.add(startButton);
buttonPanel.add(stopButton);
frame.add(buttonPanel, BorderLayout.NORTH);
frame.add(new JScrollPane(chatRoomList), BorderLayout.CENTER);
frame.setVisible(true);
}
}
시작 버튼 클릭시 채팅방 목록 리스트박스 UI 생성 및 중지 버튼 클릭시 채팅방 목록 UI 제거 예제
아래는 서버 시작 버튼을 클릭하면 채팅방 목록 UI를 생성하고 중지 버튼을 클릭하면 이 UI를 제거하는 예제입니다.
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ServerControlExample {
public static void main(String[] args) {
JFrame frame = new JFrame("Server Control");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
JButton startButton = new JButton("Start Server");
JButton stopButton = new JButton("Stop Server");
JList<String> chatRoomList = new JList<>(new DefaultListModel<>());
startButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 여기에 서버 시작 로직 추가
DefaultListModel<String> model = (DefaultListModel<String>) chatRoomList.getModel();
model.addElement("Chat Room 1");
model.addElement("Chat Room 2");
}
});
stopButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 여기에 서버 중지 로직 추가
DefaultListModel<String> model = (DefaultListModel<String>) chatRoomList.getModel();
model.clear();
}
});
JPanel buttonPanel = new JPanel();
buttonPanel.add(startButton);
buttonPanel.add(stopButton);
frame.add(buttonPanel, BorderLayout.NORTH);
frame.add(new JScrollPane(chatRoomList), BorderLayout.CENTER);
frame.setVisible(true);
}
}