2008년 11월 11일
2학기 9주차_2
시험문제에 대한 반성을 좀해봐야지..;; ,,ㅋ
1번문제.
아마도 프레임 컨버스안에 사각형을 그리고 지우고 그리고 지우고 하는
그런작업 ㅋㅋㅋ 사각형 크기는 계속 변하고..;;
코딩은......
import java.awt.*;
import java.awt.event.*;
public class Mouse{
static Choice ch;
static Canvas cv;
static int index = 0;
static Color c [] = { Color.BLUE, Color.GREEN, Color.ORANGE, Color.RED, Color.YELLOW };
public static void main(String args[]){
Frame f = new Frame();
f.setSize(300,200);
Button b = new Button("확인");
cv = new Canvas();
f.add(cv,"Center");
f.add(b,"South");
b.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
Graphics g = cv.getGraphics();
if (index >= 5){
index = 0;
}
g.clearRect(0,0,(int)cv.getSize().getWidth(), (int)cv.getSize().getHeight());
g.setColor(c[index]);
g.fillRect((index*5),(index*5),((index+1)*30), ((index+1)*30));
index++;
}
});
f.setVisible(true);
}
}
굉장히 쉬웠다 ㅡㅡㅋ
별거 있나.. ㅋ
그냥 색 계속 바뀌도록만 칼라배열만들고 인트형 변수 만들어서 색 계속 세팅 되겠금 하고.
할때마다 지워주고
사각형 크기만 변환시키면 되는걸 뭐..;;
근데 머가 이렇게 많이 틀린거지 하고 보니까 ㅡㅡㅋ
일단 클리어 안했고 ㅡㅡㅋ
그래픽스객체를 불러와서 했다는데..;;
아마도 안했나바 ㅡㅡㅋ
그리고 액션퍼폼 그래픽메서드를 안썼나? 흠..;;
그리고 버튼에 액션리스너 연결도 안했대.. 맙소사..;; ㅋㅋㅋ
할말이 업다.
2번문제.
잘기억은 안나지만.. 아마도 마우스 움직임에 대한 거에 선을 그어지도록 해라 였던가.. ㅋ
import java.awt.*;
import java.awt.event.*;
public class Mouse{
TextField tf;
int x, y;
GCanvas c;
public Mouse(){
tf = new TextField(400);
c = new GCanvas();
x=0;
y=0;
Frame f = new Frame();
f.setTitle("마우스 움직임과 드래그 좌표");
f.setSize(300,200);
c.addMouseMotionListener(new MouseMotionAdapter(){
public void mouseMoved(MouseEvent e){
int i = 2;
x = e.getX();
y = e.getY();
if(i%2 == 0){
c.setX1(x);
c.setY1(y);
}
else{
c.setX2(x);
c.setY2(y);
}
i++;
if (i > 10000){
i = 2;
}
tf.setText(e.getX()+","+e.getY());
}
}
);
f.add(c,"Center");
f.add(tf,"North");
f.setVisible(true);
}
public static void main(String[] args) {
Mouse obj = new Mouse();
}
}
class GCanvas extends Canvas{
int x = 0, y =0,x1= 0,y1= 0;
public void setX1(int a){
x = a;
}
public void setY1(int a){
y = a;
}
public void setX2(int a){
x1 = a;
}
public void setY2(int a){
y1 = a;
}
public void paint(Graphics g){
g.drawLine(x, y, x1, y1);
g.drawRect(10,20,30,40);
}
}
대충 이렇게 다시 코딩 해봣다. 근데 문제는 내가 충분히 천천히 움직이지 않는건지
선은 안그어지더라 ㅋㅋㅋㅋ
좌표값이 어짜피 움직이면 계속 변하니까.. 그값에 맞추어서 세팅 해주면 되는데..;;
이상하네..;; 흠..
시작점위치와 끝날때 위치도 좀 허접하긴 해도 분명히 다르게 줬는데..;; 흠...;;
뭐지.. 그럼 역시 난 충분히 천천히 움직이지 않았던가..;;
내가 틀린게 마우스리스너에 어댑터 사용을 안한거 ㅋㅋㅋ
바본가봐 ㅋㅋㅋㅋ ㅡㅡㅋ 어댑터 안쓸꺼면, 나머지 메소드 구현이라도 해놔야지 ㅡㅡㅋ
그리고 생성자를 통한 인수전달. 이건 무슨말이지?? ㅡㅡㅋ
문제내용이 잘 기억이 안나니 이건뭐..;; ㅡㅡㅋ
아무튼.. 마우스 리스너를 캔버스에 add 시켜서 하는걸 안했나..;;
기억이 안나 기억이 ㅠㅠ
진짜 근데 왜 선이 안그어지지 ㅡㅡㅋ;;;
3번과 4번은 다행히 다맞아서 뭐...;;
별볼일 없게 됫다. 사실 3번과4번은 많은 정성을 쏟았는데..;; 문제도 기억이 안나는건 뭐지.. 파일입출력인데..;;
분명히 그런걸 했었나 하는 그런기분.. ㅋㅋ
아.. 성적표 받고 나니까 암울하다.
이건뭐..;; 시험지에 뻔히 나와있는것도 안해서 틀리고 ㅡㅡㅋ
반평균은 넘었다지만..
실망이다 내가 나한테 ㅋㅋㅋ
좀 꼼꼼해져야지에효..;; ㅋㅋㅋ
# by | 2008/11/11 17:58 | 실험프로젝트2학기 | 트랙백 | 덧글(1)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]