Java 文本字段聚焦

标签 java multithreading swing jframe textfield

我在我的文本字段上设置了默认文本,当用户关注文本字段时,程序如何删除该文本。反之亦然,当用户不关注文本字段时,默认文本会返回。

我正在考虑在 TF 上添加一个 Action 事件,但只有当用户在关注 TF 时点击回车按钮时才有效。线程会起作用吗?

最佳答案

考虑将 FocusListener 添加到 JTextField。在 focusGained(FocusEvent e) 方法中,您可以检查 JTextField 的文本,如果它与预览文本完全匹配,则将其删除。在 focusLost(FocusEvent e) 方法中,您检查 JTextField 是否为空,如果是,则重新添加默认文本。

myTextField.addFocusListener(new FocusListener() {
  public void focusGained(FocusEvent e){
    // get text from JTextField
    // if text matches default text, either select all, so user can keep it or change it
    // or delete it --- your choice
  }

  public void foucsLost(FocusEvent e){
    // check if JTextField's text is empty.
    // if so, cal setText(DEFAULT_TEXT) on the field
  }
});

关于Java 文本字段聚焦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19618134/

相关文章:

java - DatePickerCellEditor() 有什么问题?

java - JLayeredPane绘制图片

Java Swing 游戏: JFrame not showing

Java:MySQL 数据截断:不正确的双值:列的 ''

java - 无法加载 .pem 私钥

c# - System.Reflection.MethodInfo.Invoke 和多线程

java - java高效地将数据插入数据库

java - java中的随机标识符

java - 将 JAVA 库重定位到 Tomcat Lib 文件夹后出现的问题

Java - 一旦发生 2 个 Callables 中的任何一个错误,就捕获错误