【问题标题】:How to check an empty Double JTextField如何检查一个空的 Double JTextField
【发布时间】:2012-03-12 11:49:45
【问题描述】:

我已经工作了 2 天,但我仍然不知道如何在将 jtextfield 传递到我的数据库之前检查它是否为空(Double 不是 String)。

我想出了如何在字段为空时验证String,但我需要输入正确的代码来说明如何在字段为空时验证Double

提前致谢。

这是我的代码:

private void saveButton3ActionPerformed(java.awt.event.ActionEvent evt) {
    String inventcodef = inventCodeField.getText();
    String inventnamef = inventNameField.getText();
    String categ = cmbname.getSelectedItem().toString();
    double inventreorderf = Double.parseDouble(inventReorderField.getText());

    ..............
    if ((inventCodeField.trim().Length()==0) ||       (inventNameField.trim().Length()==0)

【问题讨论】:

  • inventReorderField.getText().trim().length == 0inventReorderField.getText().isEmpty() 条件怎么样?但仍然不能保证输入的值是可双重解析的,最好使用 JFormattedTextField。
  • Hello Harry joy/我只是使用 inventReorderField.getText().trim().length == 0 它说一个错误和 inventReorderField.getText().isEmpty() 但它没有返回任何东西.谢谢!
  • 谢谢哈利,我会试试 JFromattedTextField :)
  • 永远不要使用 JTextField 或任何相关的 getText().trim().length,始终使用 getDocument().getLength(),然后在上面做你的事情。
  • @GagandeepBali 你好,如果我错了,请纠正我。 getDocument().getLength() 是否用于验证 JTextField 是否为空?谢谢!

标签: java swing


【解决方案1】:

要强制格式化(数字等),您可以使用JFormattedTextField

要确保值不为空,请参阅No blanks in JTextField

【讨论】:

  • 如果我错了,请纠正我,但我认为 JFormattedTextField(用于数字)用于验证输入的值是否为 NUMERIC。它是否检测用户是否没有输入任何值?非常感谢
  • 没错,这就是为什么你的主题中的 DOUBLE JTEXTFIELD 看起来很奇怪
【解决方案2】:

您最初将double 视为String。所以,你可以这样做:

double inventreorderf;
if (inventReorderField.getText().trim().length == 0)
{
    //Do something which should happen when the field is empty
}
else
{
    try
    { 
        inventreorderf = Double.parseDouble(inventReorderField.getText());
    }

    catch (Exception e)
    {
        //The user has entered an invalid number. Notify him/her here.
    }
}

【讨论】:

  • 但是我应该把这些代码放在哪里?它是否需要在 SAVEBUTTONACTION 内?抱歉,我是 Java 新手。 :)
  • @mix:是的,这需要放在事件处理程序中,而不是这一行:double inventreorderf = Double.parseDouble(inventReorderField.getText());。请注意,据我所知,JFormattedTextField 仅检查输入的格式,而不检查该字段是否为空。
  • 把jtextfield改成jformattedtext还能用吗?
  • @mix:JFormattedText 扩展了 JTextField,所以你应该可以让它工作。
猜你喜欢
  • 2016-07-16
  • 2017-07-17
  • 2013-06-12
  • 2017-04-17
  • 1970-01-01
  • 2015-06-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多