본문 바로가기

자바(java)

전자책 페이지를 넘길 수 있는 리더 애플리케이션을 제작다.

반응형

여기에서는 전자책 리더 애플리케이션의 코드와 각 파트를 설명합니다:

  1. 내용설명:
    • 이 코드는 전자책을 읽고 페이지를 넘길 수 있는 Java 애플리케이션을 구현한 것입니다.
    • 사용자는 이전 페이지로 이동하거나 다음 페이지로 이동할 수 있습니다.
  2. 프로그램간 사용 함수 설명:
    • setupUI(): UI를 초기화하고 프레임을 설정합니다.
    • goToPreviousPage(): 이전 페이지로 이동합니다.
    • goToNextPage(): 다음 페이지로 이동합니다.
    • loadPage(int page): 페이지 번호에 해당하는 전자책 페이지 내용을 불러옵니다.
    • getTotalPages(): 전자책 총 페이지 수를 반환합니다.
    • loadPageContent(int page): 페이지 번호에 해당하는 전자책 페이지 내용을 반환합니다.
  3. 코딩내용:
    • UI를 설정하고 사용자가 이전 페이지와 다음 페이지로 이동할 수 있도록 합니다.
    • loadPage 및 loadPageContent 함수를 사용하여 페이지 내용을 표시합니다.



    • import javax.swing.*;
      import java.awt.*;
      import java.awt.event.ActionEvent;
      import java.awt.event.ActionListener;

      public class EBookReaderApp extends JFrame {
          private int currentPage = 1;
          private JTextArea ebookTextArea;

          public EBookReaderApp() {
              setupUI();
          }

          private void setupUI() {
              setTitle("전자책 리더");
              setSize(400, 300);
              setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

              JPanel panel = new JPanel();
              panel.setLayout(new BorderLayout());

              ebookTextArea = new JTextArea();
              ebookTextArea.setEditable(false);
              panel.add(new JScrollPane(ebookTextArea), BorderLayout.CENTER);

              JButton prevButton = new JButton("이전 페이지");
              prevButton.addActionListener(new ActionListener() {
                  @Override
                  public void actionPerformed(ActionEvent e) {
                      goToPreviousPage();
                  }
              });
              panel.add(prevButton, BorderLayout.WEST);

              JButton nextButton = new JButton("다음 페이지");
              nextButton.addActionListener(new ActionListener() {
                  @Override
                  public void actionPerformed(ActionEvent e) {
                      goToNextPage();
                  }
              });
              panel.add(nextButton, BorderLayout.EAST);

              add(panel);

              setVisible(true);
          }

          private void goToPreviousPage() {
              if (currentPage > 1) {
                  currentPage--;
                  loadPage(currentPage);
              }
          }

          private void goToNextPage() {
              int totalPages = getTotalPages(); 
              if (currentPage < totalPages) {
                  currentPage++;
                  loadPage(currentPage);
              }
          }

          private void loadPage(int page) {
              String pageContent = loadPageContent(page); 
              ebookTextArea.setText(pageContent);
          }

          private int getTotalPages() {
              return 100; 
          }

          private String loadPageContent(int page) {
              return "전자책 페이지 " + page + " 내용을 여기에 표시합니다."; 
          }

          public static void main(String[] args) {
              SwingUtilities.invokeLater(() -> {
                  new EBookReaderApp();
              });
          }
      }
  4. 전문용어:
    • 전자책 리더: 전자책을 읽고 관리하는 애플리케이션
    • 페이지: 전자책 내에서 보여지는 단위
    • UI: 사용자 인터페이스
  5. 라이브러리 추가 및 실행 방법:
    • 별도의 라이브러리 추가가 필요하지 않습니다.
    • 코드를 Java로 컴파일하고 실행하면 전자책 리더 애플리케이션이 시작됩니다.

이 코드를 참고하여 전자책 리더 애플리케이션을 개발하실 수 있습니다.

 

 

컴파일

 javac -encoding UTF-8 EBookReaderApp.java

 

실행 

java EBookReaderApp

반응형