File JavaFX将包含更多行的文本加载到JavaFX容器中
我想将外部文本或xml文件中的文本加载到javafx容器中。 我不知道应该使用哪个容器(文本区域,不可编辑或标签)。 问题,该文件有多行要读取。 例如: File.txt包含: “你好 我是第三排“ 我实际使用(对于文本文件)正常的BufferedReader代码: 可能1:File JavaFX将包含更多行的文本加载到JavaFX容器中,file,javafx,containers,File,Javafx,Containers,我想将外部文本或xml文件中的文本加载到javafx容器中。 我不知道应该使用哪个容器(文本区域,不可编辑或标签)。 问题,该文件有多行要读取。 例如: File.txt包含: “你好 我是第三排“ 我实际使用(对于文本文件)正常的BufferedReader代码: 可能1: String text; while ((text = bufferedReader.readLine()) != null) { textlabel_about.setText(text); } 或 可能的2:
String text;
while ((text = bufferedReader.readLine()) != null) {
textlabel_about.setText(text);
}
或
可能的2:
textlabel_about.setText(ReadTextfile(file){
StringBuilder stringBuffer = new StringBuilder();
String text;
while ((text = bufferedReader.readLine()) != null) {
stringBuffer.append(text);
}
return stringBuffer.toString();
);
(是的,我剪切了函数-当然我使用了异常等等)
但如果我运行程序,我只能看到:
可能1:“我是第三排”
可能2:“你好,我是第三排”
我只知道在使用带有system.out.println的控制台获取不同行时的函数。那么,如何才能以正确的格式显示javafx容器中的文本呢?
BufferedReader.readLine
删除换行符。只需重新添加换行符并使用TextArea
:
StringBuilder stringBuilder = new StringBuilder();
String text;
while ((text = bufferedReader.readLine()) != null) {
stringBuilder.append(text).append("\n");
}
// set the text in the TextArea
your_text_area.setText(stringBuilder.toString());
TextArea
会打断太宽的行,但如果内容对于容器来说太高,则会添加一个滚动条(不会垂直调整大小)
或者,您可以使用
javafx.scene.text.text
<代码>文本默认调整为内容大小。但如何更改阅读代码?utf-8是否默认?在使用像ä、ö、ü、ß等特殊符号时遇到问题on@malex,默认字符集是默认的系统字符集。尝试