Language/Java
[자바API_AWT/Swing] 키보드 이벤트 구현하기
■ 사용할 객체 ▶ KeyAdaptor - KeyListener를 구현한 추상클래스이다. - getKeyCode() : void ---- Virtual Code를 확인할 수 있다. [참고 : 키보드 정보가 들어오는 방식] - 각 회사의 키보드 -> OS/JVM에서 Virtual Key Code로 받음(각 회사 키보드 동일하게 인식) - 키보드의 shift+[ ] 예를 들어, 소문자 a를 인식하는 게 아니다. (문자는 모두 대문자로 인식) - 말그대로 어떤 키보드를 눌렀는지를 값으로 받는다. ▶ KeyEvent - VK_xxxxx : Virtual Code Key를 의미하는 상수로, 언더바(_) 다음에 "LEFT","RIGHT","Q","R"등 키보드 키에 대한 상수를 받을 수 있다. ▶ Dimension..
![[자바API_AWT/Swing] 버튼 이벤트 구현하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeIZ4L%2FbtrxqbjbRfh%2FArEPTiSUBjZxlA1N1ZEyq0%2Fimg.png)
[자바API_AWT/Swing] 버튼 이벤트 구현하기
■ xxxListener/xxxEvent/Action 관계 - 비유 참고 링크 : https://stackoverflow.com/questions/23033439/what-is-the-difference-between-actionlistener-and-actionevent-for-a-button [비유] 상점 주인 - 상점 주인이 가게에 들어와 직원들을 살핀다. - 그는 뭔가 문제가 발생한다면 행동을 할 준비를 하고 있다.(ActionListner) - 직원A가 일할 시간에 또 사무실에서 잠을 자고 있다. - 그는 마음먹은대로 행동을 돌입해야겠다 생각한다.(AcitionEvent) - 그는 직원A에게 다음번에 자르겠다 경고한다.(Action) ■ xxxListner와 xxxAdapter의 차이점 - XX..
![[자바API_AWT/Swing] 배치관리자와 레이아웃 종류(2)_윈도우창(JFrame) 예제](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F31cpx%2Fbtrxr5VZv7X%2FfHBqz6VLosFnbZypGW8Rdk%2Fimg.png)
[자바API_AWT/Swing] 배치관리자와 레이아웃 종류(2)_윈도우창(JFrame) 예제
■ 공통부분 - 윈도우창이기에 컨테이너는 JFrame을 사용한다. - 아래의 예제들에서 JFrame의 세팅값(위치/크기/보임상태/종료버튼방식)은 모두 동일하게 할 것이다. ■ BorderLayout - JFrame컨테이너의 디폴트 배치관리자는 BorderLayout이다. - BorderLayout은 컴포넌트 간격을 지정하지 않을 거면 초기화를 딱히 해줄게 없다. - 컴포넌트를 넣어줄 때 어느 영역(North/South/West/East/Center)에 위치시킬지 지정해준다. package window; import java.awt.BorderLayout; import javax.swing.JButton; import javax.swing.JFrame; public class BorderLayoutTest..
![[자바의정석_예제] 객체지향프로그래밍1](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbd1QFF%2FbtrxoWTOjKL%2F1iaxkZqq83jMe52z0jrkNK%2Fimg.png)
[자바의정석_예제] 객체지향프로그래밍1
더보기 class SutdaCard{ //카드의 숫자.(1~10사이의 정수) int num; //광이면 true, 아니면 false boolean isKwang; } 더보기 package objectprogm1; public class Q6_2 { public static void main(String[] args) { SutdaCard card1 = new SutdaCard(3, false); SutdaCard card2 = new SutdaCard(); System.out.println(card1.info()); System.out.println(card2.info()); } } class SutdaCard{ final static int MIN_NUM = 1; final static int MAX_..
![[자바의정석_예제] 조건문과 반복문](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbafN0n%2FbtrxwzWYqSv%2FtiIkKLWDFYxcYOYs2u2l01%2Fimg.png)
[자바의정석_예제] 조건문과 반복문
더보기 package control; public class Q4_1 { public static void main(String[] args) { int x = 10; char ch = ' '; int year = 430; boolean powerOn = false; String str = "yes"; //1번 if(x > 10 && x = '0' && ch = 'A' && ch = 'a' && ch
![[자바API_AWT/Swing] 배치관리자와 레이아웃 종류](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbI7PVx%2FbtrxmBhcsJS%2FMmKkqdkn5idfhPuxaPfFjK%2Fimg.png)
[자바API_AWT/Swing] 배치관리자와 레이아웃 종류
■ 배치관리자(LayoutManager) - 레이아웃의 조상 인터페이스이다. ■ 레이아웃이란? - 레이아웃은 컴포넌트들을 배치하는 방식을 말하는 것으로, 이 방식에 따라 컨테이너 안에 추가되는 컴포넌트의 위치와 크기를 자동적으로 결정한다. - 레이아웃 곧, 배치 방식도 하나의 객체이므로, 객체 생성 후 사용이 가능하다. (단, 컨테이너처럼 디폴트로 가진 레이아웃 방식이 있는 경우 반드시 레이아웃 객체를 생성할 필요가 없다) ■ 레이아웃의 종류 배치방식 특징 BorderLayout 컴포넌트를 동서남북, 중간에 배치할 수 있다. *JFrame,JApplet,JDialog의 디폴트 배치관리자 FlowLayout 컴포넌트를 최상단에서 좌->우로 배치한다. *JPanel, Applet의 디폴트 배치관리자 Grid..
![[자바API_AWT/Swing] JFrame 컨테이너로 윈도우창 만들기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Foqx8V%2FbtrxoHgoz6a%2F5sFY314Stw7ZONpfKbzkp1%2Fimg.png)
[자바API_AWT/Swing] JFrame 컨테이너로 윈도우창 만들기
■ JFrame 컨테이너 - Container 상속 : 컴포넌트를 추가(add)/지우기(remove), 컨테이너 내 배치방식(Layout) 설정 - JFrame 기능 : 컨테이너의 타이틀, 사이즈, 위치 등을 설정 가능 - JFrame은 기본적으로 Border Layout방식을 따른다. **이 부분은 별도 포스팅 예정이며 여기서는 불필요한 내용이다. ■ 그림으로 표현한 JFrame ■ 코드화 [유의할 점] - DefaultCloseOperation설정을 하지 않으면 [x]를 누를 때 숨김처리(Not Visible)된다. * [x] 선택 시, 프로그램을 종료하려면 EXIT_ON_CLOSE 해주기 package window; import javax.swing.JFrame; class BasicJFrame e..
![[자바API_AWT/Swing] GUI (Graphic User Interface)의 기초](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc7utlo%2FbtrxhNbzQtU%2F9LbhEjD5zkxknWn42vFELk%2Fimg.png)
[자바API_AWT/Swing] GUI (Graphic User Interface)의 기초
1. GUI란? - GUI는 사용자가 컴퓨터와 눈에 보이는(Graphic) 상호작용(interface)을 할 수 있게 한 것 - GUI의 종류 : AWT패키지, Swing패키지 AWT(Abstract Windowing Toolkit) - AWT은 중량 컴포넌트(heavy weight)이며, 운영체제의 자원을 사용한다. 운영체제에 부담되나 속도 빠르다. Swing - Swing은 AWT를 확장한 경량 컴포넌트(Light weight)이며, 다양한 플랫폼에도 사용할 수 있게 했다. 2. GUI의 전체 구조도 - 이미지 참조 링크 : https://myeonguni.tistory.com/1006 3. 컴포넌트란? - 윈도우창에 들어가는 모든 독립적인 단위모듈을 컴포넌트라고 한다. - 이 중에서 다른 컴포넌트를..
![[자바_복습] 이클립스에서 템플릿 만들기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMhd2G%2Fbtrw64YQSJh%2FRdRiYHIzDGa1vKAumwiEA0%2Fimg.png)
[자바_복습] 이클립스에서 템플릿 만들기
[이클립스에서 템플릿 만들기] [0] 저장할 소스를 긁어서 Ctrl+c로 복사합니다. [1][2] [window] > [Preferences] 로 들어갑니다. [3] 검색창에 "temp"를 쓰고, [Java] > [Editor] > [Templates]로 이동합니다. [4] [New]를 눌러 새 템플렛 만드는 창을 엽니다. [5] 제목을 적어줍시다. [6] 긁어온 코드를 Ctrl+v로 붙여줍니다. [7] 클래스명을 드래그한 뒤 [Insert Variable]의 [Primary_type_name](환경변수)로 바꿔줍니다. *객체명의 경우 [Primary_type_name] *인자로 설정할 경우 [args] [8] [Ok]를 눌러 완료한 뒤, [Apply]후 창을 빠져나옵니다. [새로운 워크스페이스에 기존 ..