본문 바로가기

자바(java)

낙서 판: 마우스를 사용하여 그림을 그릴 수 있는 간단한 그림판을 개발합니다.

반응형

낙서 판: 간단한 그림판 개발 (Java)

1. 내용 설명

간단한 그림판 프로그램은 사용자가 마우스를 이용하여 화면에 그림을 그릴 수 있게 하는 애플리케이션입니다. 이 프로그램은 Java를 이용하여 개발되며, 사용자 인터페이스(UI) 구성, 마우스 이벤트 처리, 그리기 기능 등을 포함합니다.

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

  • init(): 프로그램 초기화, UI 설정
  • paintComponent(Graphics g): 화면에 그림을 그리는 기능
  • mousePressed(MouseEvent e): 마우스 버튼이 눌렸을 때 이벤트 처리
  • mouseReleased(MouseEvent e): 마우스 버튼이 놓였을 때 이벤트 처리
  • mouseDragged(MouseEvent e): 마우스 드래그 이벤트 처리

3. 코딩 내용

 

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class EnhancedSimplePaint extends JFrame {
    private int prevX, prevY; // 이전 마우스 좌표
    private Color backgroundColor = Color.WHITE; // 배경색 초기 설정

    public EnhancedSimplePaint() {
        setTitle("개선된 간단한 그림판");
        setSize(800, 600);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        Container contentPane = getContentPane();
        DrawPanel drawPanel = new DrawPanel();
        contentPane.add(drawPanel);
        contentPane.setBackground(backgroundColor); // 배경색 설정

        setVisible(true);
    }

    class DrawPanel extends JPanel {
        public DrawPanel() {
            setPreferredSize(new Dimension(800, 600)); // 패널 크기 설정
            setBackground(backgroundColor); // 배경색 적용

            addMouseListener(new MouseAdapter() {
                public void mousePressed(MouseEvent e) {
                    prevX = e.getX();
                    prevY = e.getY();
                }
            });

            addMouseMotionListener(new MouseMotionAdapter() {
                public void mouseDragged(MouseEvent e) {
                    Graphics g = getGraphics();
                    g.drawLine(prevX, prevY, e.getX(), e.getY());
                    prevX = e.getX();
                    prevY = e.getY();
                }
            });
        }

        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
            // 여기에 추가적인 그리기 기능 구현 가능
        }
    }

 

 

4. 전문용어

  • Java: 객체 지향 프로그래밍 언어
  • JFrame: 윈도우 창을 생성하는 클래스
  • Container: 컴포넌트를 담는 공간
  • Graphics: 그래픽 컨텍스트, 그리기 작업 수행
  • MouseEvent: 마우스와 관련된 이벤트
  • MouseAdapter, MouseMotionAdapter: 마우스 이벤트 리스너

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

Java Swing 라이브러리를 사용합니다. 표준 Java 개발 키트(JDK)에 포함되어 있으므로 별도의 라이브러리 추가는 필요하지 않습니다. 이 코드를 Java IDE(예: IntelliJ, Eclipse)에서 실행하거나, 명령 줄을 사용하여 컴파일하고 실행합니다.

 

컴파일

javac -encoding UTF-8 EnhancedSimplePaint.java

 

실행

java EnhancedSimplePaint

반응형