gpt4 book ai didi

java - 如何验证 jtable 中的列只能接受手机号码?

转载 作者:行者123 更新时间:2023-12-02 07:56:09 26 4
gpt4 key购买 nike

这就是我所做的;但此代码在某些情况下会失败,例如如果我们输入 9874561231,则无法插入该数字。

tbl.setCellEditor(new DefaultCellEditor(text){

@Override
public Object getCellEditorValue() {
// throws exception if parsing failes, and it's catched on stopCellEditing
return Integer.parseInt((String) super.getCellEditorValue());
}

@Override
public boolean stopCellEditing() {
boolean result = false;
try{
result = super.stopCellEditing();
((JTextField)getComponent()).setBackground(Color.WHITE);
lblEnterNumbersOnly.setVisible(false);
} catch (NumberFormatException e) {
((JTextField)getComponent()).setBackground(Color.RED);
lblEnterNumbersOnly.setVisible(true);
result = false;
}

return result;
}

@Override
public boolean isCellEditable(EventObject anEvent) {
// reset color when begin editing
((JTextField)getComponent()).setBackground(Color.WHITE);
return super.isCellEditable(anEvent);
}
});

最佳答案

这是因为值9874561231超过了int max值。

您可以将验证更改为:

  1. 使用Long.parseLong()来支持更大的值。

  2. 使用正则表达式检查您的字符串

关于java - 如何验证 jtable 中的列只能接受手机号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9613847/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com