【发布时间】:2020-12-30 14:53:19
【问题描述】:
我正在编写一个 java 代码,当在 PasswordField 中输入超过 10 个字符时会出错,并且无法从那里输入。我尝试在 KeyPressed 事件中从 PasswordField 中删除最后一个字符,但不是删除最后一个字符,而是删除它之前的字符并将其替换为最后一个字符。这是我的代码。
private void passFieldKeyTyped(java.awt.event.KeyEvent evt) {
String pw1 = new String(passField.getPassword());
if(passField.getPassword().length==10){
try{
StringBuffer bf = new StringBuffer(pw1);
bf.deleteCharAt(10);
String pw2 = new String(bf);
passField.setText(pw2);
JOptionPane.showMessageDialog(this, "<html><h4>Password Must Not Contain More Than 10 Characters !</h4></html>", "Error !", JOptionPane.ERROR_MESSAGE);
}
catch(Exception e){
JOptionPane.showMessageDialog(this, e.getMessage());
}
}
我还是个编程新手。我希望有人可以帮助我。谢谢!
【问题讨论】:
标签: java string char jpasswordfield