본문 바로가기

자바(java)

사전 애플리케이션: 사용자가 단어를 검색하고 의미를 확인할 수 있는 사전 앱을 제작합니다.

반응형

사전 애플리케이션: 자바 구현

1. 내용 설명

사전 애플리케이션은 사용자가 단어를 검색하고 그 의미를 확인할 수 있는 간단한 프로그램입니다. 사용자는 텍스트 필드에 단어를 입력하고 검색 버튼을 클릭하면, 해당 단어의 정의 또는 설명이 표시됩니다. 이 애플리케이션은 Swing을 사용하여 GUI를 구현합니다.

2. 프로그램 간 사용 함수 설명

  • createAndShowGUI(): 사용자 인터페이스를 구성하고 표시합니다.
  • initializeDictionary(): 사전 데이터를 초기화합니다.
  • searchWord(): 입력된 단어를 사전에서 찾고 결과를 표시합니다.

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 DictionaryApp {
    private JFrame frame;
    private JTextField searchField;
    private JTextArea resultArea;
    private Map<String, String> dictionary;

    public DictionaryApp() {
        createAndShowGUI();
    }

    private void createAndShowGUI() {
        frame = new JFrame("Dictionary Application");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(new BorderLayout());

        searchField = new JTextField(20);
        JButton searchButton = new JButton("Search");
        searchButton.addActionListener(e -> searchWord());

        resultArea = new JTextArea(10, 20);
        resultArea.setEditable(false);

        frame.add(searchField, BorderLayout.NORTH);
        frame.add(searchButton, BorderLayout.CENTER);
        frame.add(new JScrollPane(resultArea), BorderLayout.SOUTH);

        initializeDictionary();
        frame.pack();
        frame.setVisible(true);
    }

    private void initializeDictionary() {
        dictionary = new HashMap<>();
        // 예시 단어와 정의를 추가
        dictionary.put("example", "A representative form or pattern.");
        dictionary.put("java", "A high-level programming language.");
    }

    private void searchWord() {
        String word = searchField.getText();
        String definition = dictionary.getOrDefault(word, "Word not found.");
        resultArea.setText(definition);
    }

    public static void main(String[] args) {
    SwingUtilities.invokeLater(() -> new DictionaryApp());
    }
}

 

4. 전문용어

  • JFrame: Swing GUI의 윈도우 프레임입니다.
  • JTextField: 텍스트 입력 필드입니다.
  • JButton: 클릭 가능한 버튼 컴포넌트입니다.
  • JTextArea: 텍스트 영역을 표시하는 컴포넌트입니다.
  • HashMap: 키-값 쌍을 저장하는 자바의 컬렉션 클래스입니다.
  • ActionListener: 버튼 클릭 같은 액션 이벤트를 처리하는 리스너 인터페이스입니다.

5. 라이브러리 추가 및 실행 방법

  • 본 프로그램은 자바 표준 라이브러리의 Swing 컴포넌트를 사용합니다.

컴파일:
javac -encoding UTF-8 DictionaryApp.java
실행:
java DictionaryApp

반응형