如果 JFormattedTextField 没有适当的文本,如何禁用 JButton 或显示警告对话框
How to disable a JButton or show an alert dialog box if the JFormattedTextField does not have appropriate text
如果 phone 数字的长度小于 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());
找到解决办法。效率不高,但速度更快。带格式的文本字段实际上默认创建字段的长度为 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
}
如果 phone 数字的长度小于 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());
找到解决办法。效率不高,但速度更快。带格式的文本字段实际上默认创建字段的长度为 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
}