Как заставить JTextField появляться при нажатии на изображение? - PullRequest
3 голосов
/ 02 ноября 2011

Итак, я пытаюсь создать эту программу, которая позволит пользователю отмечать фотографии с помощью Java (что-то вроде тегов Facebook).Я уже сделал загрузку изображения и создание mouselistener, когда пользователь щелкает область изображения.

Как сделать так, чтобы JTextField отображался, когда пользователь щелкает определенную область фотографии?

Я думаю, что JTextField может быть тем или иным окном, в которое пользователь может ввести своиимя в качестве тега для фотографии.

Кроме того, как вы думаете, где я должен поместить код JTextField?В основном?

Ответы [ 3 ]

4 голосов
/ 02 ноября 2011

Вы можете получить координаты X и Y (как сказал Даггето).И тогда вы можете показать свое текстовое поле с помощью setVisible (true)

2 голосов
/ 02 ноября 2011

MouseEvent.getX() и MouseEvent.getY() возвращает горизонтальную x и вертикальную y позицию события относительно исходного компонента.

Тогда, если у вас есть область изображения, описанная как x1, x2, y1, y2, вы можете проверить, щелкается ли позиция в этой области следующим «if»:

int x0 = MouseEvent.getX();
int y0 = MouseEvent.getY();

if(x0>x1 && x0<x2 && y0>y1 && y0<y2){
    JTextField.setVisible(true);
}
1 голос
/ 02 ноября 2011

просто используйте функцию setVisible () для объекта JTextField и устанавливайте его значение всякий раз, когда пользователь определенную часть изображения.

...