java - 检查扩展 jTextFormattedField 是否为空
问题描述
我有一个扩展 jFormattedTextField 并且在这个字段中,我有一种方法来验证它是否为空,但在 jTextField 中它可以工作,但在 jFormattedTextField 中没有。
当我传递框架上的字段时:
RVDFormattedTextField[] obrigatoriosFTF = new RVDFormattedTextField[1];
private void setaObrigatorios() {
obrigatoriosFTF[0] = rvfCNPJ;
}
if (RVDFormattedTextField.isEmpty(obrigatoriosFTF)) {
Mensagem.aviso("Preencha os campos obrigatórios (*).", this);
} else {
jFormattedTextField 中的方法:
public static boolean isEmpty(RVDFormattedTextField[] campos) {
Boolean ok = false;
for (int i = 0; i < campos.length; i++) {
if (Formatacao.removerFormatacao(campos[i].getText()).trim().isEmpty()) {
ok = true;
if (campos[i].isEditable()) {
campos[i].setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(255, 51, 51)));
}
} else {
campos[i].setBorder(javax.swing.BorderFactory.createEtchedBorder());
}
}
return ok;
}
不显示错误,尝试在方法中添加一个 sout 并进行调试,但没有任何反应。
方法移除器Formatacao
public static String removerFormatacao(String dado) {
String retorno = "";
for (int i = 0; i < dado.length(); i++) {
if (dado.charAt(i) != '.' && dado.charAt(i) != '/' && dado.charAt(i) != '-' && dado.charAt(i) != '(' && dado.charAt(i) != ')') {
retorno = retorno + dado.charAt(i);
}
}
return (retorno);
}
方法 formatarCNPJ(掩码)
public static void formatarCnpj(JFormattedTextField campo) {
try {
MaskFormatter m = new MaskFormatter();
m.setPlaceholderCharacter(' ');
m.setMask("##.###.###/####-##");
campo.setCaretPosition(0);
campo.setFormatterFactory(null);
campo.setFormatterFactory(new DefaultFormatterFactory(m));
campo.setValue(null);
} catch (Exception e) {
System.err.println(e);
}
}
我试图删除这两种方法,但它仍然不起作用。
解决方案
那么,JFormattedText 上使用了哪个掩码,Formatacao.removerFormatacao
实现如何?
推荐阅读
- c# - 附加到派生类中的字符串(在基类中创建)
- reinforcement-learning - 获取 OpenAI Gym 环境的名称/ID
- javascript - 如何使用客户端库从节点 js 将文件夹上传到 GCS
- typescript - 如何将数据保存在我的全局变量中(未定义的值)
- delphi - Steema TeeChart 单杠系列。如何使用 Stacked100?
- c# - HTTP_X_FORWARDED_FOR 仅适用于 http 而不是 https
- python - Python 运行时与 C 运行时
- r - R获取与多维列联表中最大值关联的级别
- vue.js - 如何一般地观察多个值或数据变化
- pointers - 接口不能调用self方法