✏️ 스윙 컴포넌트 그리기paintComponent()모든 스윙 컴포넌트가 가지고 있는 메소드로서, 스윙 컴포넌트가 자신의 내부를 그리며 원형은 아래와 같다.void paintComponent(Graphics g) // 컴포넌트 내부 모양 그리기 또한 paintComponent()는 JComponent의 추상 메소드이므로 모든 스윙 컴포넌트가 오버라이딩하여 가지고 있다. 그리고 스윙 컴포넌트에 paintComponent()가 호출되는 경우는 아래와 같다.// 컴포넌트의 크기나 위치 변경 등 컴포넌트에 변화가 생길 때// 다른 윈도우에 의해 가려졌다가 드러날 때// 아이콘화되었다가 본래 크기로 복구할 때// 응용프로그램이 컴포넌트의 repaint() 메소드를 호출하여 강제로 다시 그릴 때 JPanel 상속..
✏️ 스윙 프로그램으로 GUI 화면 구성하기스윙 프로그램으로 GUI 화면을 구성하는 방법은 2가지이다. 첫 번째는 컴포넌트 기반 GUI 프로그래밍으로 스윙 패키지에 주어진 GUI 컴포넌트를 이용하는 방법으로 쉡게 GUI 프로그램을 작성할 수 있는 방법이 있지만 자바 패키지에서 제공하는 GUI 컴포넌트의 한계를 벗어날 수 없다. 두 번째는 그래픽 기반 GUI 프로그래밍이다. 선, 원 등의 도형과 이미지를 이용하여 그래픽으로 직접 화면에 그리는 방법으로 실행 속도가 빠르고 독특한 GUI를 구성할 수 있지만 프로그래밍에 대한 개발자의 부담이 큰 단점이 있다. 아래 사진은 스윙 컴포넌트의 상속 구조이다. 스윙 컴포넌트의 공통 메소드// 컴포넌트 모양 관련 메소드void setForeground(Color) ..
✏️ 이벤트 기반 프로그래밍이벤트 기반 프로그래밍은 이벤트의 발생에 의해 프로그램 샐행 흐름이 결정되는 방식의 프로그래밍 패러다임이다. 이벤트는 키 입력, 마우스 클릭, 마우스 드래그 등 사용자의 액션이나, 센서 등 외부 장치로부터의 입력, 네트워크를 통한 데이터 수신, 다른 스레드나 프로그램으로부터 메시지 수신 등에 의해 발생한다. 아래 그림을 통해 이벤트 발생 사례를 살펴보자.사용자가 마우스로 화면의 New 버튼을 클릭한다.버튼 클릭은 운영체제의 마우스 드라이버를 거쳐 자바 가상 기계에 전달한다.자바 가상 기계는 이벤트 분배 스레드에게 마우스 클릭에 관한 정보를 보낸다.이벤트 분배 스레드는 이벤트(ActionEvent) 객체를 생성한다. 이벤트 객체는 이벤트에 관한 여러 정보를 담은 객체이고, 이벤트..
✏️ GUI 응용프로그램GUI란 Graphical User Interface의 약자로 이미지 혹은 그래픽을 이용하여 메뉴 등을 포함하는 화면을 구성하고, 키보드 외 마우스 등의 편리한 입력 도구를 이용하여 사용자가 입력하기 편하도록 만들어진 사용자 인터페이스이다. 자바는 AWT와 Swing 패키지 등 강력한 GUI 라이브러리를 제공한다. ✏️ AWT와 Swing 패키지자바 언어는 GUI 응용프로그램을 쉽게 작성할 수 있도록 다양한 GUI 컴포넌트(GUI Component)를 제공한다. 자바의 GUI 컴포넌트는 AWT 컴포넌트와 Swing 컴포넌트로 구분되며, 각각 java.awt 패키지와 java.swing 패키지를 통해 공급된다. AWTAWT(Abstract Windowing Toolkit)는 자바가..
- Total
- Today
- Yesterday
- 스프링 부트 crud 게시판 구현
- 유니온 파인드
- 자바스크립트
- 투 포인터
- HTML5
- 에라토스테네스의 체
- 반복문
- 백준
- js
- C++
- c++ string
- BFS
- java
- 백준 풀이
- 카운팅 정렬
- html
- 자료구조
- 자바
- DP
- 이분 매칭
- 유클리드 호제법
- C++ Stack
- CSS
- 스택
- 우선순위 큐
- 알고리즘 공부
- 세그먼트 트리
- Do it!
- DFS
- 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |