万事如意,
我有一个应用程序需要在 Swing 组件中显示一个 15 行的 ASCII 文件,用户无法对其进行编辑。
下面是我的代码,它逐字节读取 ASCII 文件。我感谢乐于助人的评论者解释说 JTextArea.setEditable(false) 在 Swing 中是合适的。
但是,当我个人将 ASCII 文件制作成完全不同的东西时,我的代码仅显示一串数字。有谁知道我做错了什么以及如何让ASCII字符本身显示?
import java.io.*;
import javax.swing.*;
public class LoadMap extends JFrame {
public LoadMap() throws IOException {
FileInputStream fIn = new FileInputStream("map.srn");
BufferedReader rd = new BufferedReader(new InputStreamReader(fIn, "US-ASCII"));
String map = "";
JTextArea mapArea = new JTextArea(15, 50);
try {
int c;
while ((c = rd.read()) != -1) {
map= map + c;
}
} finally {
if (rd != null) {
rd.close();
}
}
mapArea.setText(map);
mapArea.setEditable(false);
add(mapArea);
pack();
setVisible(true);
}
}