NumberField
NumberField组件接受数字输入,并自动拒绝无效值。它支持最小和最大范围、步长间隔以及占位符文本。
使用NumberField
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.
NumberField扩展了共享的Field类,提供了所有字段组件的共同特性。以下示例创建了一个带有标签和占位符文本的NumberField。
显示代码
- NumberFieldView.java
字段值
NumberField组件将其值存储为Double,可以准确处理整数和小数。
获取当前值
您可以使用以下方法检索用户输入的数字值:
Double currentValue = numberField.getValue();
设置新值
要以编程方式设置字段:
numberField.setValue(42.5);
如果未输入值且未设置默认值,getValue()将返回null。
虽然该字段设计用于仅接受有效数字输入,但请记住,底层值是可空的。在使用结果之前,请始终检查是否为null。
用法
NumberField最适合用于捕获、显示或操作数字数据对您的应用至关重要的场景。以下是使用NumberField的一些示例:
-
数字输入表单:在设计需要数字输入的表单时,使用
NumberField简化了用户的输入过程。这对于收集用户数据或需要数值的应用程序特别有用。 -
数据分析和计算:在涉及数据分析、计算或数学操作的应用中,
NumberField尤其有价值。它允许用户准确输入或操控数字值。 -
财务和预算应用:涉及财务计算、预算或跟踪开支的应用程序通常需要精确的数字输入。
NumberField确保财务数字的准确输入。 -
度量和单位转换:在处理测量或单位转换的应用中,
NumberField非常适合输入带有单位的数字值,例如长度、重量或体积。
最小和最大值
使用setMin()方法,您可以指定数字字段中可接受的最小值。如果用户输入的值低于此阈值,组件将无法通过约束验证,并提供适当的反馈。
NumberField numberField = new NumberField();
numberField.setMin(0.0); // 最小允许值: 0.0
单独使用setMax()方法可以定义最大可接受值。如果用户输入的值高于此限制,输入将被拒绝。当设置了最小值和最大值时,最大值必须大于或等于最小值。
numberField.setMax(100.0); // 最大允许值: 100.0
在此配置中,输入 -5 或 150 等值将无效,而接受在 0 到 100 之间的值。
粗细
您可以使用setStep()方法指定在使用箭头键修改值时值必须遵循的粗细程度。每次按下箭头键时,组件的值将增减一定的步长。这不适用于用户直接输入的值,而仅适用于与NumberField进行交互时使用箭头键。
占位符文本
您可以使用setPlaceholder()方法为NumberField设置占位符文本。当字段为空时,会显示占位符文本,帮助提示用户输入适当的内容。
如果数值输入与特定的测量单位相关或具有特定的上下文,请提供清晰的标签或额外信息以引导用户,确保准确输入。
最佳实践
为确保无缝集成和最佳用户体验,在使用NumberField时请考虑以下最佳实践:
-
可访问性:在设计时考虑可访问性,遵循可访问性标准,如适当的标签、键盘导航支持和与辅助技术的兼容性。确保残疾人士能够有效与
NumberField进行交互。 -
利用增减按钮:如果适合您的应用,考虑为
NumberField增设增减按钮。这使用户能够通过单击特定的增量或减量来调整数字值。