如何在单击图像时显示JTextField?

时间:2011-11-02 13:17:48

标签: java jtextfield mouselistener photo-tagging

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

当用户点击照片的某个区域时,如何显示JTextField?

我认为JTextField可以在某个方面用户可以输入他/她的名字作为照片的标签。

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

3 个答案:

答案 0 :(得分:4)

你可以得到X和Y坐标(正如Daggeto所说)。然后,您可以使用setVisible(true)

显示文本字段

答案 1 :(得分:2)

MouseEvent.getX()MouseEvent.getY()返回事件相对于源组件的水平x ant垂直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);
}

答案 2 :(得分:1)

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