我有一个完全不懂Java的问题:|当使用setText()方法时,我得到这个错误
javax.swing.JTextArea[,0,-26524,590x27015,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.basic.BasicBorders$MarginBorder@52d1f1fb,flags=296,maximumSize=,minimumSize=,preferredSize=,caretColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],disabledTextColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],editable=true,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=sun.swing.PrintColorUIResource[r=51,g=51,b=51],selectionColor=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],colums=20,columWidth=11,rows=5,rowHeight=15,word=false,wrap=false]
这是我的动作事件
list.setText(list.toString().replaceAll("|3835569365|e49e24d5", ""));
list是我的JTextArea,这些数字和十六进制以及|是我基本上试图从文本区域中删除的。
谢谢大家:)
问题是你在使用toString()
时应该使用getText()
。
把你的代码改成…
list.setText(list.getText().replaceAll("|3835569365|e49e24d5", ""));
而不是 toString()
是返回对象的状态信息,你不应该需要在每天的工作中使用