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

Java 如何在单击图像时显示JTextField?,java,jtextfield,mouselistener,photo-tagging,Java,Jtextfield,Mouselistener,Photo Tagging,因此,我正在尝试制作这个程序,允许用户使用java标记照片(有点像Facebook标记)。我已经加载了图像,并在用户单击图像的某个区域时制作了mouselistener 当用户单击照片的某个区域时,如何使JTextField出现 我认为JTextField可以是一个框,用户可以在其中输入他/她的名字作为照片的标签 还有,你认为我应该把JTextField代码放在哪里?在main中?MouseEvent.getX()和MouseEvent.getY()返回事件相对于源组件的水平x和垂直y位置 然后

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

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

我认为JTextField可以是一个框,用户可以在其中输入他/她的名字作为照片的标签

还有,你认为我应该把JTextField代码放在哪里?在main中?

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);
}
int x0=MouseEvent.getX();
int y0=MouseEvent.getY();

如果(x0>x1&&x0y1&&y0只要在JTextField对象上使用setVisible()函数,并在用户看到图像的某一部分时设置其值。

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

公共类鼠标扩展MouseApter来显示文本字段{public void mouseClicked(MouseEvent e){x=e.getX();y=e.getY();object.drawing(x,y);}
所以我基本上把if语句放在这里?我还没有制作我的JTextField。呃,对不起,我不知道如何缩进D:我想是的。当我说JTextField时,我指的是这个类的对象。