TextField
This class is a Field component, and inherits its features and behaviors. For an overview of Field properties, events, and other important information, please refer to the Field documentation.
TextField组件允许用户在单行中输入和编辑文本。您可以配置该字段以显示特定的虚拟键盘,例如数字键盘、电子邮件输入、电话号码输入或URL输入。该组件还提供内置验证,以拒绝不符合指定类型的值。
用法
TextField适用于需要文本输入或编辑的广泛场景。以下是使用TextField的一些示例:
-
表单输入:
TextField通常用于表单中捕获用户输入,例如姓名、地址或评论。当输入通常短到可以适应一行时,最好在应用中使用TextField。 -
搜索功能:
TextField可用于提供搜索框,允许用户输入搜索查询。 -
文本编辑:
TextField非常适合需要文本编辑或内容创建的应用,例如文档编辑器、聊天应用或记笔记应用。
类型
您可以使用setType()方法指定TextField的类型。同样,您可以使用getType()方法检索类型,该方法将返回一个枚举值。
-
Type.TEXT:这是TextField的默认类型,并自动从输入值中删除换行符。 -
Type.EMAIL:此类型用于输入电子邮件地址。它根据标准电子邮件语法验证输入。此外,它为兼容的浏览器和设备提供一个动态键盘,通过包括常用键(如.com和@)简化输入过程。笔记此验证确认了电子邮件地址的格式,但并不能保证该电子邮件存在。
-
Type.TEL:此类型用于输入电话号码。在某些设备上,字段将显示电话键盘。 -
Type.URL:此类型用于输入URL。它验证用户输入的URL是否包含方案和域名,例如:https://webforj.com。此外,它为兼容的浏览器和设备提供一个动态键盘,通过包括常用键(如:、/和.com)简化输入过程。 -
Type.SEARCH:一个单行文本字段,用于输入搜索字符串。输入值中的换行符将被自动删除。
显示代码
- Java
字段值
TextField的值表示当前用户输入的字符串。在webforJ中,可以使用getValue()方法访问,或通过setValue(String)方法进行程序更新。
//设置初始内容
textField.setValue("初始内容");
//检索当前值
String text = textField.getValue();
如果在没有当前值的字段上使用getValue()方法,它将返回空字符串("")。
这种行为与HTML <input type="text">元素通过JavaScript公开其值的方式一致。
占位符文本
您可以使用setPlaceholder()方法为TextField设置占位符文本。当字段为空时,会显示占位符文本,帮助提示用户在TextField中输入适当的内容。
选定文本
可以与TextField类交互,以检索用户选定的文本,并获取用户选择的信息。您可以使用getSelectedText()方法在TextField中检索选定的文本。这种行为通常与事件一起使用。
TextField textField = new TextField("输入内容...");
Button getSelectionBtn = new Button("获取选定文本");
getSelectionBtn.onClick(e -> {
String selected = textField.getSelectedText();
System.out.println("选定文本: " + selected);
});
同样,可以使用getSelectionRange()方法检索TextField的当前选择范围。这将返回一个SelectionRange对象,表示所选文本的起始和结束索引。
getSelectedText()与事件有效负载