PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2009/05/16 04:34:17
Name RunDavid
Subject Java 혹은 OOP 에 관한 질문입니다.
간단한 프로그램을 하나 짜고 있습니다.
숙제가 아니라, 만들어보고 싶은 프로그램이 하나 있어,
'쉬울것 같은데?' 하는 생각에 그냥 뚝딱뚝딱 만들어 가다보니 막히네요. ㅠㅠ



다른 부분들은 다 생략하고 핵심만 질문하도록 노력해보겠습니다

SimpleGame 과 Buttons 라는 두개의 Class 가 있습니다.
SimpleGame 은 JFrame 으로 JPanel, JMenuBar, 그리고 여러개의 Buttons 를 가지고 있습니다.
("Has-a relationship" 인가요?)

SimpleGame 이 Buttons 의 function 을 Access 할 수 있다는것은 알겠습니다.
예를들어 b1.getNumber() 를 한다면 제가 button 마다 주어준 number 값을 받아오겠죠.

제 질문은 하나의 Buttons 이 자신이 click 되었을때 SimpleGame 에게 notify() 할 수 있는 방법이 무엇인가 입니다.
시나리오가...
 1.  b3 가 click 되면 일단 자신을 먼저 toggle 시키고,
 2.  그다음 click 되었다고 SimpleGame에게 알리고 (notify),
 3.  그러면 SimpleGame 은 b3 주변에 있는 b2, b4 또한 toggle 시킨다.
입니다.




어떻게 SimpleGame 에게 알려줄 수 있을까요? ㅠㅠ?
답변 기다리겠습니다.

========================================================================
public class SimpleGame extends JFrame  
{
        ... (생략)
        private Buttons b1,  b2,  b3,  b4,  b5;

        public SimpleGame()
        {
                ... (생략)
                    b1 = new Buttons(1);
                    b2 = new Buttons(2);
                    b3 = new Buttons(3);
                    b4 = new Buttons(4);
                    b5 = new Buttons(5);
                ... (생략)
        }
        ... (생략)
}
========================================================================
public class Buttons extends JButton
{
        ... (생략)

        public Buttons()
        {
                ... (생략)

                ActionListener listener = new ActionListener()
                {
                        public void actionPerformed(ActionEvent e)
                        {
                                clicked();
                        }
                };
            this.addActionListener(listener);
        }
        
        public void clicked()
        {
                toggle();
                // Notify SimpleGame; 이 부분입니다.
        }
        
        public void toggle() { ... 생략 ...}
}
========================================================================


통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
09/05/16 12:33
수정 아이콘
Object o=e.getsource() 사용하시면 되죠.
c만하시다가 자바 하시는 느낌이..
리스너를 그냥 implements 시키는게 더 편하실텐데 .
그리고 마우스이벤트도 있는데 굳이 clicked()를 만드실필요가.
내부클래스 사용하셔도 편하고요.
RunDavid
09/05/16 14:13
수정 아이콘
SuxpLay님// 답변 감사드립니다. C만 하다가 Java 를 하는게 아니라 programming에 막 입문했습니다 ^^;

답변에 적어주신 Object o=e.getsource() 를 어떻게 쓰는건가요?
물론 이제부터 제가 열심히 찾아보겠습니다만,
다들 구현하는 style 이 있다고 생각해서 SuxpLay 님은 어떻게 하는걸 의미하신건지 궁금하네요.

내부클래스를 쓴다는건 Buttons 를 SimpleGame Class 안에 넣는걸 말씀하시나요?
09/05/16 17:35
수정 아이콘
죄송합니다. 일어나자 마자 보구 답변을 달다보니 답변이 이상하게 됐는데요.
물론 코딩하는 스타일이 다 틀리기때문에 순전히 제생각이였습니다.
리스너는 implements 시켜서 마우스클릭이벤트를 내부클래스로 구현하는 방법이 더 편하다는걸
말하고싶었습니다.
addMouseListener(new MouseAdapter()

public void mouseClicked(MouseEvent e) {
}); 요런식.
Object getSource () 는
Event 가 최초로 발생한 오브젝트입니다. 이거는 EventObject에 있는거구요.
이벤트발생값을 가져온다고 할수있죠.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
55719 기타 독학으로 해보신분? [3] 아레스2109 09/05/16 2109
55718 wii fit 은 일본어(가타가나)로 쓰면 어떻게 써야 하나요? [1] 본호라이즌1963 09/05/16 1963
55717 예전에 보험가입(?) 관련해서 재밌는 동영상이 올라왔었는데. [2] 전미가 울다1736 09/05/16 1736
55716 [급질] 압구정역 소개팅 장소 좀 가르쳐주세요^^; [5] 기용패트리4682 09/05/16 4682
55715 영어 장문을 읽는 중인데 중요한 문장이 있어서 이에 대해 질문 드립니다. [4] 최연발1887 09/05/16 1887
55714 PMP(+DMB) 질문드립니다 [6] 허저비2072 09/05/16 2072
55713 금융자격증 질문입니다. [2] 축구사랑2082 09/05/16 2082
55711 좀 복잡한 여자문제입니다. [12] 치토스2648 09/05/16 2648
55710 엑셀 그래프 관련 질문입니다. [3] 히든고수2163 09/05/16 2163
55709 혹시 웨이트할 때 저 같은 분 계신가요? [4] .JunE.2422 09/05/16 2422
55708 여자 공포증..이랄까요;;.. [8] Best[AJo]2766 09/05/16 2766
55707 음악이 다 남자 목소리로 이상하게 나오네요. 노력하는나1729 09/05/16 1729
55706 기타 구매에 대한 질문입니다 [2] Valueinvester1713 09/05/16 1713
55705 Java 혹은 OOP 에 관한 질문입니다. [3] RunDavid1738 09/05/16 1738
55704 유주얼서스펙트질문입니다.. [5] TheLain1896 09/05/16 1896
55703 염치 불구하고 휴대폰 좀 질문하겠습니다. [1] 삶, Remember1768 09/05/16 1768
55702 비트감에 대한 질문입니다. [1] 리차드최2339 09/05/16 2339
55701 단기적으로 주량을 늘리는 방법 좀 알려주세요! [14] GoGoSing2144 09/05/16 2144
55700 원피스 보시나요? [16] BIONICcontrol.12089 09/05/16 2089
55699 경영사례와 관련된 뉴스 기사 동영상(뉴스 보도영상)을 구하려면 어디에서 찾을 수 있을까요? [1] 악학궤범a1521 09/05/16 1521
55698 말없는 남자....의 알수없는심리ㅠㅠㅠㅠ [31] 사과12456 09/05/16 12456
55697 노래 질문입니다... [2] 시미군1776 09/05/16 1776
55696 천재적 재능을 지닌 악마들 또 누가 있을까요? [11] 와이숑2528 09/05/16 2528
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로