Java Swing中如何点击一次按钮清除文本框的一个字符?
实现点击按钮删除文本框单个字符的正确方法
你的代码存在两个问题:
- Java中字符串不能通过数组下标语法(
s[s.length()-1])直接获取字符并作为字符串传入setText(),这会导致编译错误; - 即便语法正确,你的逻辑是取最后一个字符设置回文本框,而不是删除最后一个字符。
同时还要考虑文本框为空的情况,否则会触发StringIndexOutOfBoundsException。修正后的代码如下:
public void actionPerformed(ActionEvent e){ String s = textfield.getText(); if (s.length() > 0) { // 截取原字符串除最后一个字符外的部分 textfield.setText(s.substring(0, s.length() - 1)); } }
关键说明:
substring(int beginIndex, int endIndex):返回从beginIndex(包含)到endIndex(不包含)的子串,这里用0和s.length()-1就能得到去掉最后一个字符的新字符串;- 长度判断
if (s.length() > 0):确保文本框不为空时才执行删除操作,避免数组越界异常。
内容的提问来源于stack exchange,提问作者Md Pranto Imam
相关产品推荐
相关产品推荐

