JPanel에서 mouseListener에 문제가 있습니다. JPanel에 이미지 (크기 600 x 600)가 포함 된 JLabel을 추가하고 JPanel에 mouseListener를 추가합니다.JPanel에서 mouseListener 문제
나는 이미지를 클릭 할 때마다 이미지가 다른 이미지로 바뀌고 정상적으로 작동합니다. 그러나 문제는 이미지의 오른쪽이나 가운데를 클릭 할 때만 이미지가 다른 이미지로 변경된다는 것입니다. 상단 또는 왼쪽을 클릭해도 이미지가 변경되지 않습니다. 이것은 나를 혼란스럽게 만든다. 이미지 디스플레이 내의 모든 곳을 클릭하면 이미지가 다른 이미지로 변경되기를 원합니다.
private final int SECOND= 1;
private final int FIRST = 0;
int imageCounter = 0;
JLabel picture;
JPanel panel;
...
private mainLayout() {
GridBagLayout m = new GridBagLayout();
Container c = (Container)getContentPane();
GridBagConstraints con;
c.setLayout (m);
picture = new JLabel();
picture.setIcon(getImages(myImage.get(imageCounter).get(FIRST))); //first Image
panel = new JPanel();
con = new GridBagConstraints();
con.anchor=GridBagConstraints.CENTER;
con.gridy = 1; con.gridx = 0;
m.setConstraints(panel, con);
c.add(panel);
panel.add(picture); //add the pictures
panel.addMouseListener(l);
....
}
MouseListener l = new MouseAdapter(){
public void mouseClicked (MouseEvent e)
{
Point p = e.getPoint();
if((panel.getBounds().contains(p))
picture.setIcon(getImages(myImage.get(imageCounter).get(SECOND)));
}
};
JPanel 대신 JLabel에 리스너를 추가하려고 했습니까? – nandokakimoto
고맙습니다. nandokakimoto ... thats가 내 문제를 해결했습니다 :-) – Jessy