3

所以我正在尝试制作这个程序,允许用户使用 java 标记照片(有点像 Facebook 标记)。我已经加载了图像,并在用户单击图像区域时制作了 mouselistener。

当用户单击照片的某个区域时,如何使 JTextField 出现?

我认为 JTextField 在某种程度上可以成为用户可以输入他/她的姓名作为照片标签的框。

另外,您认为我应该将 JTextField 代码放在哪里?主要吗?

4

3 回答 3

4

您可以获得 X 和 Y 坐标(如 Daggeto 所说)。然后您可以使用 setVisible(true) 显示您的文本字段

于 2011-11-02T13:33:53.550 回答
2

MouseEvent.getX()MouseEvent.getY()返回事件相对于源组件的水平 x 和垂直 y 位置。

然后,如果您将图像区域描述为 x1,x2,y1,y2,您可以通过此“如果”检查该区域中的点击位置:

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

if(x0>x1 && x0<x2 && y0>y1 && y0<y2){
    JTextField.setVisible(true);
}
于 2011-11-02T13:25:52.100 回答
1

只需在 JTextField 对象上使用 setVisible() 函数,并在用户访问图像的某个部分时设置其值。

于 2011-11-02T13:32:26.787 回答