텍스트 에디터: 자바 기반 개발
1. 내용 설명
이 프로그램은 자바를 사용하여 개발된 기본적인 텍스트 에디터입니다. 사용자는 이 에디터를 통해 텍스트 파일을 열고, 편집하며, 저장할 수 있습니다. 이 텍스트 에디터는 Swing을 이용한 그래픽 사용자 인터페이스(GUI)를 제공하며, 파일 열기, 편집, 저장 등의 기본적인 기능을 포함합니다.
2. 프로그램 간 사용 함수 설명
openFile(): 파일 선택기를 통해 사용자가 파일을 선택하면, 해당 파일을 열고 내용을 편집기에 표시합니다.
saveFile(): 현재 편집 중인 텍스트 내용을 파일로 저장합니다.
createAndShowGUI(): 텍스트 에디터의 사용자 인터페이스를 생성하고 표시합니다.
main(String[] args): 메인 메소드로, 프로그램의 진입점입니다.
3. 코딩 내용
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class TextEditor {
private JTextArea textArea;
private JFrame frame;
public TextEditor() {
createAndShowGUI();
}
private void createAndShowGUI() {
frame = new JFrame("Text Editor");
textArea = new JTextArea(20, 40);
frame.add(new JScrollPane(textArea), BorderLayout.CENTER);
JMenuBar menuBar = new JMenuBar();
JMenu fileMenu = new JMenu("File");
JMenuItem openItem = new JMenuItem("Open");
JMenuItem saveItem = new JMenuItem("Save");
openItem.addActionListener(e -> openFile());
saveItem.addActionListener(e -> saveFile());
fileMenu.add(openItem);
fileMenu.add(saveItem);
menuBar.add(fileMenu);
frame.setJMenuBar(menuBar);
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
private void openFile() {
JFileChooser fileChooser = new JFileChooser();
if (fileChooser.showOpenDialog(frame) == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
textArea.read(reader, null);
} catch (IOException e) {
e.printStackTrace();
}
}
}
private void saveFile() {
JFileChooser fileChooser = new JFileChooser();
if (fileChooser.showSaveDialog(frame) == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
try (BufferedWriter writer = new BufferedWriter(new FileWriter(file))) {
textArea.write(writer);
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(TextEditor::new);
}
}
4. 전문용어
Swing: 자바의 GUI 위젯 툴킷입니다.
JFrame: Swing의 기본적인 윈도우를 생성하는 클래스입니다.
JTextArea: 여러 줄의 텍스트를 편집할 수 있는 컴포넌트입니다.
JScrollPane: 컴포넌트에 스크롤 기능을 추가하는 클래스입니다.
JMenuBar, JMenu, JMenuItem: 메뉴 바와 메뉴 항목을 만드는 데 사용되는 클래스들입니다.
JFileChooser: 파일 선택기 대화 상자를 생성하는 클래스입니다.
BufferedReader, BufferedWriter: 텍스트 파일을 읽고 쓰는 데 사용되는 클래스들입니다.
ActionListener: 사용자의 액션(예: 버튼 클릭)에 대한 처리를 하는 인터페이스입니다.
IOException: 입출력 관련 예외 처리를 위한 클래스입니다.
5. 라이브러리 추가 및 실행 방법
이 프로그램은 자바 표준 라이브러리의 Swing 컴포넌트를 사용하므로, 별도의 라이브러리 추가가 필요하지 않습니다. 자바 개발 키트(JDK)가 설치되어 있으면 컴파일과 실행이 가능합니다.
컴파일 방법:
javac TextEditor.java
실행 방법:
java TextEditor
'자바(java)' 카테고리의 다른 글
투표 시스템: 사용자가 투표하고 결과를 표시하는 간단한 투표 시스템을 만듭니다. (0) | 2023.12.19 |
---|---|
사진 슬라이드쇼: 이미지 파일을 가져와 자동으로 슬라이드쇼를 생성합니다. (0) | 2023.12.19 |
음악 플레이어: 자바를 사용하여 간단한 음악 플레이어를 만들어 음악을 재생합니다. (0) | 2023.12.19 |
15강: 자바 생태계와 현업 개발 (0) | 2023.12.18 |
14강: 프레임워크와 라이브러리 (0) | 2023.12.18 |