我正在构建一个包含JFrame
和FlowLayout
的Swing应用程序。有两个ComboBox
es包含Strings
项目名称。我希望能够指定所述项目的数量。
首先,我考虑使用JTextField
s,但他们可以将String
作为输入。有很多方法可以强制数字输入,但我想起了之前见过的另一种输入字段。
我似乎无法找到数字输入字段的名称(有关HTML5版本,请参阅http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_input_type_number)。此字段仅接受数字,并具有两个箭头按钮,可对其中的值进行微调。
这是在Swing中,还是我需要一个库来执行此操作?如果是,该字段的名称是什么?如果没有,哪些图书馆可以做到这一点?
答案 0 :(得分:3)
来自Oracle的How to Use Spinners:
Spinners与组合框和列表类似,它们允许用户从一系列值中进行选择。与可编辑的组合框一样,微调器允许用户键入值。与组合框不同,微调器没有可以覆盖其他组件的下拉列表。因为微调器不显示可能的值 - 只有当前值可见 - 当可能值的集合非常大时,通常使用它们而不是组合框或列表。但是,只有当可能的值及其顺序明显时,才应使用微调器。
答案 1 :(得分:0)
有强制数字输入的方法,但我记得另一种类型 我以前见过的输入字段。
Swing没有这样的Text Component可以直接使用数字输入,就像我所知道的那样。但是没有什么能阻止你扩展现有的JTextFeild
并声明你自己需要的功能。例如,要使用整数值:
class MyTextField extends JTextField
{
public void setIntValue(int x)
{
setText(""+x);
}
public int getIntValue()
{
return Integer.parseInt(getText());
}
}
答案 2 :(得分:-1)
您可以使用JNumberField。该字段返回一个整数。但您甚至可以在JTextField中键入数字并将其解析为int。