Java 팝업메뉴 관련 질문입니다..ㅜㅡ;; 초보이구요;;;
가리매
갑인사후 첫 질문인데요 ㅜㅡ;;
잘하시는 분들이 보시면;; 초보질문이겟지만...ㅜㅡ;;
책보고 독학중인데 넘 어려워서요...;;;
첫 번째 질문은요. EventHandler 클래스에서요 windowadpter 만 썼자나요?
거기서 mouseadapter도 쓰면 나중에 나오는 mouseevent를 다 쓰지 않아도 되지 않나요??;;
두 번째 질문은요
class EventHandler extends WindowAdapter implements ActionListener, MouseListener
{
PopupMenu_Use pmu;
public EventHandler(PopupMenu_Use pm)
{
this.pmu = pm;
}
이 부분에서PopupMenu_Use pmu; 이 부분이랑
public EventHandler(PopupMenu_Use pm)
{
this.pmu = pm;
}
이 부분을 해준 의미가 먼지;; 잘 모르겠습니다..ㅜㅡ;;
아주 초보라;; 제대로 질문을 햇는지도 모르겠어요.
읽어 주셔서;; 감사하구요. 아시면 답변 부탁드립니다.^^
-----------------------------------------------------------------------------------
import java.awt.*;
import java.awt.event.*;
class PopupMenu_Use extends Frame
{
TextArea ta;
MenuItem shortmenu_cancel, shortmenu_cut, shortmenu_delete, shortmenu_copy, shortmenu_paste;
PopupMenu pm;
EventHandler eh;
public PopupMenu_Use()
{
ta = new TextArea(50,30);
shortmenu_cancel = new MenuItem(실행취소);
shortmenu_cut = new MenuItem(잘라내기);
shortmenu_delete = new MenuItem(지우기);
shortmenu_copy= new MenuItem(복사하기);
shortmenu_paste = new MenuItem(붙여넣기);
pm = new PopupMenu();
pm.add(shortmenu_cancel);
pm.addSeparator();
pm.add(shortmenu_cut);
pm.add(shortmenu_delete);
pm.add(shortmenu_copy);
pm.add(shortmenu_paste);
eh = new EventHandler(this);
shortmenu_cancel.addActionListener(eh);
shortmenu_cut.addActionListener(eh);
shortmenu_delete.addActionListener(eh);
shortmenu_copy.addActionListener(eh);
shortmenu_paste.addActionListener(eh);
this.addWindowListener(eh);
ta.addMouseListener(eh);
this.add(ta);
this.add(pm);
}
public static void main(String[] args)
{
PopupMenu_Use pmu = new PopupMenu_Use();
pmu.setSize(300,200);
pmu.show();
}
}
class EventHandler extends WindowAdapter implements ActionListener, MouseListener
{
PopupMenu_Use pmu;
public EventHandler(PopupMenu_Use pm)
{
this.pmu = pm;
}
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
public void actionPerformed(ActionEvent e)
{
MenuItem mi = (MenuItem)e.getSource();
String selected = mi.getLabel();
if(selected == 실행취소)
pmu.ta.setText(실행취소가 선택되었습니다.);
else if(selected == 잘라내기)
pmu.ta.setText(잘라내기가 선택되었습니다.);
else if(selected == 지우기)
pmu.ta.setText(지우기가 선택되었습니다.);
else if(selected == 복사하기)
pmu.ta.setText(지우기가 선택되었습니다.);
else if(selected == 붙여넣기)
pmu.ta.setText(실행취소가 선택되었습니다.);
}
public void mouseClicked(MouseEvent e)
{
}
public void mouseEntered(MouseEvent e)
{
}
public void mouseExited(MouseEvent e)
{
}
public void mousePressed(MouseEvent e)
{
if(e.getButton() == 3)
this.pmu.pm.show(pmu, e.getX(), e.getY());
}
public void mouseReleased(MouseEvent e)
{
}
}
-
리네 2026-01-23
아.! 그러쿤요 ㅜㅡ;; ㅋ 감사합니다! 읔.. 어려워요;ㅜㅜ;; 글두 재미씁니다 ㅋ
-
김자영 2026-01-23
지금 작성하신 클래스는 두개의 클래스입니다.
PopupMenu_Use에서 main함수가 있는 부분이 가장 먼저 실행되고 EventHandler 도 PopupMenu_Use의 맴버변수로 가지고 있는 상태 입니다.
EventHandler
PopupMenu_Use
그런데 EventHandler가
텍스트 에어리어에 \실행취소가 선택되었습니다.\라고 써야하는데
어디에다가 해야 할까요?
PopupMenu_Use 클래스의 TextArea에 써야 합니다.
즉
| 번호 | 제 목 | 글쓴이 | 날짜 |
|---|---|---|---|
| 2752024 | 소숫점 뺄셈 !! ㅠㅜ | 초롬 | 2026-10-20 |
| 2751970 | 자바 게임 만들려는데 부탁드립니다 (1) | 라온제나 | 2026-10-19 |
| 2751908 | 자바스크립트 처리속도를 체크할 수 있는 방법 있나요? (1) | 테이 | 2026-10-19 |
| 2751822 | 그누보드 아이프레임으로 구현했는데 제목 클릭해서 들어가면 푸터가 동동...떠다녀요 | 내꺼하자 | 2026-10-18 |
| 2751790 | 자바 그래픽 관련을 공부하고 싶은데요.. 어디 좋은 사이트나 책 없을까요?? (1) | 큰재 | 2026-10-18 |
| 2751733 | CTF가머죠? (5) | 두동 | 2026-10-17 |
| 2751709 | 배열부분 궁금한 부분이있습니다. | 딸기우유 | 2026-10-17 |
| 2751677 | 포인터 책을 보다가,,, (2) | 동백 | 2026-10-17 |
| 2751648 | 익스플로 버전에 따라서 생기는 공백.. (1) | 모아 | 2026-10-17 |
| 2751623 | DEL 태그의에서 선굵기 및 컬러지정이 가능한가 해서요~ (4) | 비치나 | 2026-10-16 |
| 2751573 | 테마 업로드 에러.. (1) | 꽃 | 2026-10-16 |
| 2751548 | 수학? 물리?? (3) | 찬늘 | 2026-10-16 |
| 2751461 | 상단네비 fixed ie6 핵 해결방안이 있을까요? | 맑다 | 2026-10-15 |
| 2751436 | 레이아웃을 잡고 코딩을 하는데 드림위버에서의 결과와 IE에서 결과가 다르게 나오네요. (3) | 키클 | 2026-10-15 |
| 2751403 | 형들좀도와주세요string compression (1) | 알렉산더 | 2026-10-14 |
| 2751349 | 링크 다운로드하기 | 팬지 | 2026-10-14 |
| 2751295 | c++한번도 손않댄 사람이... | 날위해 | 2026-10-13 |
| 2751267 | 플래시8 사용에서 플레이어 만들었는데요 (1) | 블1랙캣 | 2026-10-13 |
| 2751182 | 회원가입 | 파랑새 | 2026-10-12 |
| 2751152 | 소셜 플러그인 문제입니다. | 얀 | 2026-10-12 |
