我目前正在从JtextField获取电话号码,我遇到的问题是输入三个数字后,我想在第三个整数添加后添加一个“-”,然后在第六个整数之后添加另一个“-”被添加。我不确定如何执行此操作。到目前为止,我只检查数字并确保它们是数字。我很确定我应该在这里添加一些内容,
homeNum.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
String homeValue = homeNum.getText();
if (e.getKeyChar() >= '0' && e.getKeyChar() <= '9' || e.getKeyChar() == '-' || e.getKeyChar() == '\b') {
homeNum.setEditable(true);
message.setText("");
}
else {
homeNum.setEditable(false);
message.setText("* Enter only numeric digits(0-9)");
}
}
我当时正在考虑添加类似的内容,但是问题是,如果我也想删除它,就无法删除它。
if(homeValue.length()==3)
{
homeNum.setText(homeValue+"-");
}
任何帮助/指针将不胜感激,谢谢。
最佳答案
一种实现方法是。您可以监视按键被按下的次数。当它变为3时,将setText设置为所存在的值加上一个-
现在,还有其他需要考虑的事情,例如在按下退格键时,需要从计数器中减去一个而不是加一个。
对大约3-4个特殊键进行相同的操作(例如按Enter键时不添加任何内容)。
如果您查看SwingWorker,则可以在后台执行这些操作。
祝好运