2009년 09월 19일
[JAVA] 이 소스에 대해 아시는분 좀 알려주삼
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- public class TwoButtons {
- JFrame frame;
- JLabel label;
- TwoButtons gui = new TwoButtons();
- gui.go();
- }
- public void go() {
- colorButton.addActionListener(new ColorListener());
- labelButton.addActionListener(new LabelListener());
- MyDrawPanel drawPanel = new MyDrawPanel();
- frame.setSize(300,300);
- frame.setVisible(true);
- }
- /*
- int num = (int) (Math.random() * 255);
- String strNum = Integer.toString(num);
- label.setText(strNum);
- */
- label.setText("AC");
- }
- }
- frame.repaint();
- }
- }
- }
위의 소스를 1번 소스라고 했을때 LabelListener 이라는 내부클래스의 기존 주석(38~42번줄)을 제거하고 43번줄에
주석처리를 한것을 2번 소스라고 하겠다.
1번 소스를 실행시켜보고 느낀 문제점!
- 1번소스의 상태일때 실행한후 라벨을 바꾸는 버튼을 눌렀을경우 라벨만이 바뀔 것이라 생각했지만
그림까지도 변경되는 것을 확인 할 수 있다.
Change Label 버튼의 용도는 라벨을 바꾸는 용도인데 어째서 그림까지 바뀌는 건가?
그 외...
2번 소스를 실행시켜보고 느낀 의문점!
- 1번소스의 Change Label 버튼의 이벤트는 일회성으로 끝나는데 2번소스의 경우는 Change Label 버튼의
이벤트가 반복적으로 발생한다.(클릭할때마다 라벨도 그림도 바뀐다.)
으흠... 난 이거 왜 이러는지 모르겠다.
자바 전문가님들! 좀 알려주세요~
참고! 위 소스는 Head First Java 413page의 소스이다.
TwoButtons.java 소스파일이 글과 관련있는 글을 자동검색한 결과입니다 [?]
- 이벤트 처리외 by 아낌없이 주는 나무
- JSP 주석과 page 지시어의 import 속성 by lexlove
- [Java] Static Import 그리고 이클립스(Eclipse)에서 약간 편히 사용하기 by Sigel
- AppletTest by 카르카
- MVC 모델로 구현환 미니메모장 예제 by 빡뚜
# by | 2009/09/19 14:47 | JAVA | 트랙백 | 덧글(1)





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