4

我想要两个文本字段,它们将具有以下验证

  1. 两者都应该是整数
  2. 一个文本字段中的值应该是其他文本字段的整数倍

我为此使用了两个 JFormattedTextFields。这是我到目前为止所做的

NumberFormat updateFormat,sampleFormat;
updateFormat = NumberFormat.getNumberInstance();
updateFormat.setMaximumFractionDigits(0);
updateFormat.setParseIntegerOnly(true);
sampleFormat = NumberFormat.getNumberInstance();
sampleFormat.setMaximumFractionDigits(0);
sampleFormat.setParseIntegerOnly(true);
javax.swing.JFormattedTextField jFormattedTextField1 =new javax.swing.JFormattedTextField(updateFormat);        
javax.swing.JFormattedTextField jFormattedTextField2 = new javax.swing.JFormattedTextField(sampleFormat);

有了这个,我的第一部分就完成了 现在我被第二部分困住了,即 jFormattedTextField1 的值应该是 jFormattedTextField2 的整数倍。我想我需要通过扩展它来自定义我的 NumberFormat。但是我该怎么做呢?请帮帮我

4

2 回答 2

5

还可以考虑使用InputVerifier,如验证输入中所述。

于 2011-08-06T18:08:40.807 回答
2

NumberFormat 不适用于问题的“第二”部分,因为限制不是数据格式限制,而是数据值限制。我认为您将需要在第二部分使用 DocumentFilter。要了解有关如何使用这些的更多信息,请查看此处:实现文档过滤器

于 2011-08-06T11:34:00.257 回答