Итак, я попытался превратить мой JLabel
с изображением в нажимаемую кнопку. Но я столкнулся с некоторыми проблемами.
Вот что я использовал:
Icon image = new ImageIcon("Image Path");
JLabel button = new JLabel(image);
button.setBounds(250, 100, 128, 64); //used a 500x200 window
frame.add(button);
button.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
System.out.print("Hello");
}
});
Поэтому, когда я запускаю код, я могу щелкнуть где угодно и всегда получаю сообщение Hello
. Но я хочу, чтобы сообщение печаталось только тогда, когда я нажимаю на изображение, а не где-либо еще.
Как я могу это сделать?
Спасибо!
** Редактировать : Вот что я на самом деле имею в виду:
Как видите, там должно быть синее поле с надписью Hello
. и когда я щелкаю по нему, я получаю сообщение Hello
, но когда я щелкаю за пределами синей рамки (белые пятна), я все равно получаю сообщение. Есть ли способ, которым я могу отключить это? Так что, когда я только нажимаю синее пятно, я получаю сообщение? **