Language/Java

    [자바_예제] 2차원 배열_로또 추첨

    보호되어 있는 글입니다.

    [자바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] 버튼 이벤트 구현하기

    [자바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) 예제

    [자바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

    [자바의정석_예제] 객체지향프로그래밍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_..

    [자바의정석_예제] 조건문과 반복문

    [자바의정석_예제] 조건문과 반복문

    더보기 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] 배치관리자와 레이아웃 종류

    [자바API_AWT/Swing] 배치관리자와 레이아웃 종류

    ■ 배치관리자(LayoutManager) - 레이아웃의 조상 인터페이스이다. ■ 레이아웃이란? - 레이아웃은 컴포넌트들을 배치하는 방식을 말하는 것으로, 이 방식에 따라 컨테이너 안에 추가되는 컴포넌트의 위치와 크기를 자동적으로 결정한다. - 레이아웃 곧, 배치 방식도 하나의 객체이므로, 객체 생성 후 사용이 가능하다. (단, 컨테이너처럼 디폴트로 가진 레이아웃 방식이 있는 경우 반드시 레이아웃 객체를 생성할 필요가 없다) ■ 레이아웃의 종류 배치방식 특징 BorderLayout 컴포넌트를 동서남북, 중간에 배치할 수 있다. *JFrame,JApplet,JDialog의 디폴트 배치관리자 FlowLayout 컴포넌트를 최상단에서 좌->우로 배치한다. *JPanel, Applet의 디폴트 배치관리자 Grid..

    [자바API_AWT/Swing] JFrame 컨테이너로 윈도우창 만들기

    [자바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)의 기초

    [자바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. 컴포넌트란? - 윈도우창에 들어가는 모든 독립적인 단위모듈을 컴포넌트라고 한다. - 이 중에서 다른 컴포넌트를..

    [자바_복습] 이클립스에서 템플릿 만들기

    [자바_복습] 이클립스에서 템플릿 만들기

    [이클립스에서 템플릿 만들기] [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]후 창을 빠져나옵니다. [새로운 워크스페이스에 기존 ..