투표 시스템: 자바 기반 개발
1. 내용 설명
이 프로그램은 자바를 이용하여 만든 간단한 투표 시스템입니다. 사용자는 주어진 옵션 중에서 선택하여 투표할 수 있으며, 투표 결과는 실시간으로 화면에 업데이트됩니다. 이 시스템은 Swing을 사용하여 GUI를 구현하고, 사용자의 투표 선택을 처리합니다.
2. 프로그램 간 사용 함수 설명
- createAndShowGUI(): 사용자 인터페이스를 생성하고 보여줍니다. 투표 옵션과 결과를 표시하는 레이블을 포함합니다.
- addActionListeners(): 각 투표 버튼에 액션 리스너를 추가합니다. 버튼 클릭 시 해당 옵션의 투표 수를 증가시키고 결과를 업데이트합니다.
- updateResults(): 현재 투표 결과를 계산하고 화면에 표시합니다.
- main(String[] args): 프로그램의 진입점입니다. GUI를 생성하고 표시합니다.
3. 코딩 내용
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.HashMap;
import java.util.Map;
public class VotingSystem {
private JFrame frame;
private Map<String, Integer> votes;
private JLabel resultsLabel;
public VotingSystem() {
votes = new HashMap<>();
createAndShowGUI();
addActionListeners();
}
private void createAndShowGUI() {
frame = new JFrame("Voting System");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new FlowLayout());
String[] options = {"Option 1", "Option 2", "Option 3"};
for (String option : options) {
votes.put(option, 0);
JButton button = new JButton(option);
frame.add(button);
button.addActionListener(e -> castVote(option));
}
resultsLabel = new JLabel("Results: ");
frame.add(resultsLabel);
frame.pack();
frame.setVisible(true);
}
private void addActionListeners() {
// Add action listeners for voting buttons
}
private void castVote(String option) {
votes.put(option, votes.get(option) + 1);
updateResults();
}
private void updateResults() {
StringBuilder results = new StringBuilder("<html>Results:<br/>");
votes.forEach((option, count) -> results.append(option).append(": ").append(count).append("<br/>"));
results.append("</html>");
resultsLabel.setText(results.toString());
}
public static void main(String[] args) {
SwingUtilities.invokeLater(VotingSystem::new);
}
}
4. 전문용어
- Swing: 자바의 GUI 위젯 툴킷입니다.
- JFrame: GUI 윈도우를 생성하는 클래스입니다.
- JButton: 사용자가 클릭할 수 있는 버튼을 생성하는 클래스입니다.
- JLabel: 텍스트를 표시하는 컴포넌트입니다.
- HashMap: 키-값 쌍을 저장하는 자바의 컬렉션 클래스입니다.
- ActionListener: 버튼 클릭과 같은 액션 이벤트를 처리하는 인터페이스입니다.
5. 라이브러리 추가 및 실행 방법
본 프로그램은 자바 표준 라이브러리의 Swing 컴포넌트를 사용하므로, 별도의 라이브러리 추가가 필요하지 않습니다.
컴파일 방법:
javac VotingSystem.java
실행 방법:
java VotingSystem
'자바(java)' 카테고리의 다른 글
날씨 알리미: API를 활용하여 날씨 정보를 가져와 사용자에게 보여주는 알리미를 만듭니다. (0) | 2023.12.19 |
---|---|
일기장 애플리케이션: 일기를 작성하고 저장하며 날짜별로 관리하는 애플리케이션을 개발합니다. (0) | 2023.12.19 |
사진 슬라이드쇼: 이미지 파일을 가져와 자동으로 슬라이드쇼를 생성합니다. (0) | 2023.12.19 |
텍스트 에디터: 텍스트 파일을 편집하고 저장하는 기능을 갖춘 텍스트 에디터를 개발합니다. (0) | 2023.12.19 |
음악 플레이어: 자바를 사용하여 간단한 음악 플레이어를 만들어 음악을 재생합니다. (0) | 2023.12.19 |