当前位置: 首页 > 知识库问答 >
问题:

如果JFormattedTextField没有适当的文本,如何禁用JButton或显示报警对话框

孔俊爽
2023-03-14

如果电话号码的长度小于11,我希望显示一个报警对话框或禁用提交按钮。

下面是用户输入数字的格式化文本字段的代码:

        numText = new JFormattedTextField(createFormatter("#### #######"));
        numText.setColumns(15);

        numLabel = new JLabel("Enter Phone Number: ");

        enterButtonTemp = new JButton("Enter");

检查条件的代码是:

        phoneStr = numText.getText();

        System.out.println(phoneStr.length());
        if(phoneStr.length() <= 11){
             //show the JoptionPane for dialog box
        }
        else{
            //Send the name to be stored in db
        }

代码基本上检查phoneStr的长度是否小于11。如果是,它应该弹出一个对话框,但是.length()方法给出12作为输出,即使文本字段为空。下面的语句输出12。有没有其他方法可以检查这种情况。

System.out.println(phoneStr.length());

共有1个答案

平庆
2023-03-14

找到了解决办法。不是那么有效,但有点快。格式化文本字段实际上在缺省情况下创建字段12的长度,因此,如果没有输入,则缺省情况下插入12个空格。因此,不使用PhoneStr.equals(“”),下面的代码工作得很好。它将phoneStr与12个空格而不是一个空字符串进行比较。

if(phoneStr.equals("            ")){
     System.out.println("in loop");
     JOptionPane.showMessageDialog(dialogFrame,"Fill all the fields.","Alert",JOptionPane.WARNING_MESSAGE);
}
else{
     //Send the num to db
}
 类似资料:
  • 在Android应用程序中,我想在AlertDialog中显示自定义列表视图。 我该怎么做呢?

  • 在我的应用程序中,当我试图显示自定义的框时,它在android手机中运行良好。现在,当我在android选项卡上安装应用程序时,一切都很好,只有自定义框有问题。不显示。所以我想,我应该检查正常对话框,它工作正常。下面是普通对话框和警报对话框的代码。

  • 问题内容: 以下是其中的代码,如果userNameTF或passwordTF已满或为空,则会显示警报。 问题答案: 这是一个很好的例子

  • 问题内容: 我有一个警报,我想在第一次启动应用程序后仅在第一次显示。 我怎样才能做到这一点? 问题答案: 有几种方法可以做到这一点,但最简单的方法可能只是检查SharedPreferences对象中的标志,并在显示警报后对其进行设置。 共享首选项 就像是

  • 我有一个弹出窗口,里面有一个输入。弹出窗口的创建如下所示: 这一切都很有效,可以通过输入。当用户点击android手机上的后退按钮时,问题就出现了。后退按钮关闭弹出窗口。这不应该发生,因为用户的意图是在与弹出窗口进行交互之前无法继续。 现在,我们当然可以将弹出视图的焦点设置为,以禁止通过后退按钮解除:

  • 我已经将我的项目迁移到androidX,我想实现一个带有用户积极和消极反馈的报警对话框。 我正在使用以下代码: 但我在运行应用程序时遇到了这个错误: IllegalStateException:您需要在此活动中使用theme.AppCompat主题(或后代)。