일단 코드부터 보여드리겠습니다ㅠㅠㅠㅠㅠㅠㅠ


import java.awt.*;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;


class aaa 

{

Frame f;

Panel p;

Panel[] panels;

PopupMenu pmenu;

MenuItem cal;



aaa() 

{


f = new Frame("fda");

p = new Panel();

p.setLayout(new GridLayout(7, 7, 3, 3));


panels = new Panel[49];

pmenu = new PopupMenu("edit");

cal = new MenuItem("CAL");

pmenu.add(cal);



for (int i=0;i<panels.length ;i++ ) {

panels[i]=new Panel();

panels[i].add(pmenu);

panels[i].addMouseListener(new PmenuShower());

panels[i].setBackground(Color.red);

p.add(panels[i]);

}


p.setBackground(Color.white);

p.setSize(150, 150);


f.setBackground(Color.gray);

f.setSize(300, 200);

f.add(p);

f.setVisible(true);

}

public static void main(String args[]) {

aaa a = new aaa();

}


class PmenuShower extends MouseAdapter {

public void mouseCl/fdsaf/icked(MouseEvent me) {    //저 사이에 슬러시 지우시면 됩니다ㅠㅠ

pmenu.show((Panel)pmenu.getParent(), me.getX(), me.getY());

}

}

}


이런식으로 코드를 짰습니다. 문제는 이태릭체로 표시한 바로 위 mouse/fdsa/licked()메서드의 show메서드 안의 getX()와 getY() 입니다. 각 판넬 안에서 마우스를 클/.//릭한 좌표에 popupmenu가 뜨게 하려는 의도이지만 (실행시켜보시면 바로 알수 있듯이)계속 마지막 판넬 위에 떠서 멘붕이네요... 뭐가 문제인거죠? 레이아웃이 문제인가?? 도움 부탁드립니다ㅠㅠ


일하면서 혼자 짬내서 책만보고 공부하려니 여기저기 막힐때마다 막막하고 어렵네요....  형님들 좀 도와주십쇼 ㅠㅠ


ps.스크린샷 첨부하고 싶지만 회사컴터 보안설정때문에 파일첨부가 안되네요ㅠㅠ이해부탁드립니다