最后一个字符'; 我的字符串末尾的';已修改为空格字符
我希望检索JTextField
中文本结尾处的换行符,但是在将文本字段的文本设置为我的字符串后,它被修改为空格字符。下面的代码突出显示了该问题。
是否可以保留文本字段中的
?
import javax.swing.JTextField;
public class StackOver {
public static void main(String[] args) {
String hasNewLineEscapeCharacter = makeStringWithNewLineCharacter();
JTextField backgroundText = new JTextField(90);
backgroundText.setText(hasNewLineEscapeCharacter);
char spaceChar = backgroundText.getText().charAt(backgroundText.getText().length()-1);
char newLineChar = hasNewLineEscapeCharacter.charAt(needsNewLineEscapeCharacter.length()-1);
}
public static String makeStringWithNewLineCharacter() {
String str = "hello,world!";
str += ('
');
return str;
}
}
解决方案
A有没有可能保存‘ ‘在我的JTextfield中?
JTextField
使用PlainDocument
,它包含筛选"
"并用空格字符替换。
要在文本字段中保留换行符,可以尝试:
textField.getDocument().putProperty("filterNewlines", Boolean.FALSE);
但是,这将导致文本显示在两行上,就像文本区域一样。
因此,如上所述,您应该只使用JTextArea。
无法在一行中显示包含换行符的文本。
您可能要做的是在文本字符串中存储一些其他不可打印的字符,然后使用String.replaceAll(...)如果您需要访问添加了换行符的文本。相关文章