我目前正在从 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,您可以在后台执行这些操作。
祝你好运
关于java - 在电话号码后添加 "-",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6835713/