본문 바로가기
728x90

전체 글241

사과 막대 그래프 그리기 #ENTER와 SPACE바를 누르면 증감되는 점수에 따라 사과 이미지가 늘어나고 줄어드는 프로그래밍ENTER: 증가, SPACE: 감소총 4개의 클래스를 작성하였으며,AppleImage : 이미지 선언하는 클래스AppleScore : 생성자 클래스AppleScoreScreen : 사과 막대 그래프를 그리는 클래스Starter : 실행 클래스로 구분되어진다. 2012. 5. 16.
mouse이벤트 #키 이벤트와 마찬가지로 마우스 이벤트 역시 눌러졌을때, 혹은 때어졌을 때 클릭되어진 좌표를 인식하여 그에 해당하는 작업을 할 수 있다. 예를 들면 mmorpg에서 캐릭터 이동을 위해 지점을 클릭하는 것과 마찬가지로 간단하게나마 마우스의 클릭을 통해 작업을 하는 것을 배워볼 수 있다. ex)이 코딩은 마우스를 클릭하였을 때 해당 좌표에 위치한 이미지를 변환시키는 것이다.this.addMouseListener(new MouseAdapter() { //마우스 리스너(이벤트) 선언@Overridepublic void mousePressed(MouseEvent e) {int mx = e.getX();int my = e.getY(); //x와 y의 좌표값을 클릭하였을 때 x, y 좌표 값으로 선언 for(int .. 2012. 5. 16.
key 이벤트 #이벤트(리스너)는 마우스 또는 키보드로 이벤트를 발생했을 때 컴포넌트가 적당한 작업을 수행하도록 처리하는 것을 말한다. 간단한 예로 이벤트를 이용해 어떠한 키를 입력시 그에 해당하는 작업을 수행하게 할 수 있으며, 마우스 역시 마찬가지이다. 키 이벤트는 아래와 같이 선언되어진다.ex)this.addKeyListener(new KeyAdapter() { //눌러진 키와 arr[0] 교환@Overridepublic void keyReleased(KeyEvent e) {//키가 눌러졌다 때어졌을 때 그 값이 키 이벤트 e에 등록되어진다. int key = e.getKeyCode(); // int key값에 key이벤트 값을 넣는다.//0~4키를 누를 때만 처리if(key >= KeyEvent.VK_0 && .. 2012. 5. 16.
static static은 멤버변수와 메소드를 클래스간 공유를 할 수 있게 해준다.static을 사용하게 되면 -멤버변수: 공동 사용 가능 -메소드: 인스턴스화 하지 않고 사용 가능또한 상수 역시 static화 할 수 있는데...이땐- public static final 반환명 변수명 으로 입력을 하게 되면 상수가 선언되어진다.*상수: 변하지 않는 변수 2012. 5. 16.
DrawImage #이미지를 그리는 법 원본(src)을 화면(dst)에 범위를 지정하여 출력하는 방법으로, 원본이 있으면 그 원본에서 보여주고 싶은 부분만을 지정할 수 있고, 또한 화면에 출력하는 것도 지정된 범위에 그림이 뜨도록 할 수 있다. 그림 속 빨간 상자와 같이 우선 해당 프로젝트 내에 폴더를 만들어 그곳에 이미지 파일을 저장해주어야 한다. 프로젝트에서 오른쪽 클릭을 하면 뜨는 메뉴에서 new -> folder를 선택하면 해당 폴더를 만들 수 있고, 그곳에 이미지를 복사한다. import java.awt.Frame;import java.awt.Graphics;import java.awt.Image;import java.io.File;import java.io.IOException; //이미지를 불러와 출력하기 위.. 2012. 5. 9.
패턴 import java.awt.Frame;import java.awt.Graphics; public class MyWindow extends Frame{@Overridepublic void paint(Graphics g) { //paint: 그리기 메소드g.fillRect(100, 100, 50, 50); //x:100, y:100, 넓이:50, 높이:50//색깔이 채워진 사각형//200, 100 위치에 사각형 선 그리기g.drawRect(200, 100, 100, 50);//50,50 위치에서 200,200까지 선 그리기g.drawLine(50, 50, 200, 200);//100, 200 위치에 원 그리기(채우기)g.fillArc(100, 200, 100, 100, 0, 360); // x, y, 넓이.. 2012. 5. 8.
상속 public class Child extends Parent {public Child(){System.out.println("Child의 생성자를 호출");}@Override //컴파일러에게 알려주는 역할public void work() {//super.work(); //부모의 work메소드를 호출System.out.println("쉬면서 일해요");}public void buy(){this.account--;System.out.println("구매완료..잔액은? "+this.account);} 실행public static void main(String[] args) {Child c = new Child();c.work();c.buy();c.buy();}결과 2012. 5. 8.
상속 #상속 : 재사용인터페이스: implements 클래스: extends 클래스 상속)class Child extends Parent{ }인터페이스 상속)class Child implements Check{ } 1. 접근 가능: 접근 제한자 protected 이상2. 부모와 자식간 생성자 부모->자식 순으로 호출 3. 부모의 접근 가능한 모든 리소스 사용 가능4. 부모의 메소드 재정의(overriding)5. 필요한 리소스는 추가 2012. 5. 8.
메소드 #메소드 오버로딩 -비슷한 메소드 여러 개를 정의 가능. 단)인수가 틀려져야 함. -한 클래스 내에 같은 이름의 메소드 여러개 정의.#메소드는 행위, 기능을 나타내기에 동사 형태의 단어를 써주는 것이 좋다#형식 public 반환형 메소드명(인수){ } #반환형과 인수의 유무//반환형 O, 인수 Xpublic int eat(){ //반환형이 void가 아닌 경우는 반드시 같은 타입의 데이터를 반환해야함.return 5;}//반환형0, 인수Opublic String eat(int cnt){return "아이템을"+cnt+"개 먹었다.";}//반환형 X, 인수 Xpublic void move(){System.out.println("움직이기...");}//반환형 X, 인수 Opublic void move(int.. 2012. 5. 8.
천하를 호령하다 닌자 시스템 '천하를 호령하다-일본 전국시대편'이 시즌 3을 맞으면서 보강한 닌자 시스템...그것은 바로 가보 쟁탈전 시스템이라 할 수 있다.아래의 이미지는 바로 공식홈페이지에 설명된 가보 쟁탈전에 관한 것이다. 대략 이런 것인데...문제는...이 시스템은 분명 현재 사장되어 가고 있는 닌자란 병력을 살리기 위한 업데이트라는 것이다...다른 전략 웹게임과 달리 닌자라는 훌륭한 정찰병이 있음에도 그 효과는 미비하고, 사용도가 현저히 낮은 캐릭터를 살리기 위해 도입한 것...하지만...이것은 곧 가보 쟁탈전이 잘못된 것이 아닌, 가보 쟁탈전을 하는 방식이 잘못되었다는 사실을 알게 했다. 이와 같이 소수의 닌자만을 가지고 뛰어난 무장만 있으면 가보의 강탈이 가능한 상황...즉, 닌자는 그저 1또는 2만 있으면 되고 무장만.. 2012. 5. 8.
클래스형 배열 #Fish형 클래스 배열 선언 Fish[] arr = new Fish[4]; #배열 0번째 값을 선언 arr[0] = new Fish(인수); 클래스형을 인스턴스화 하지 않은 경우 null Fish f1 = null; ex) public class FishArray { public static void main(String[] args) { Fish[] arr = new Fish[3]; //Fish형 배열 3개를 선언 arr[0] = new Fish(); arr[1] = new Fish("고등어"); arr[2] = new Fish("참치"); //모든 생선들의 이름을 출력 for(int i=0; i 2012. 5. 4.
getter, setter 선언 및 출력 #두 개의 클래스를 만들어 하나의 클래스에는 get, set 메소드를 이용한 선언을 다른 하나의 클래스는 선언된 클래스를 이용한 출력을 하도록 한다. public class Apple { private int price; private String type; public int getPrice(){ return price; } public void setPrice(int price){ this.price=price; } public String getType(){ return type; } public void setType(String type){ this.type=type; } } Apple이란 클래스를 생성하여 price와 type을 각각 private변수로 선언해준다. private는 접근 금지를.. 2012. 5. 3.
SMALL