【问题标题】:How to make a JTextField appear when clicking an image?单击图像时如何使 JTextField 出现?
【发布时间】:2023-03-19 12:05:01
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: java jtextfield mouselistener photo-tagging


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      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);
      }
      

      【讨论】:

      • public class Mouse extends MouseAdapter{ public void mouseClicked(MouseEvent e){ x = e.getX(); y = e.getY(); object.drawing(x,y); } } 所以我基本上只是把 if 语句放在这里?不过,我还没有制作我的 JTextField。呃,对不起,我不知道如何缩进 D:
      • 我想是的。当我说 JTextField 时,我的意思是这个类的对象。
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-31
        • 1970-01-01
        • 2021-10-14
        • 1970-01-01
        相关资源
        最近更新 更多