我可以识别文件扩展名,但在打印到TextArea时仍然无法为不同的扩展名提供不同的颜色,是因为TextArea和所有字体在运行程序后变为*“serif”,Font.ROMAN_BASELINE,5 * < / p>
public void setScanResult(ArrayList<String> x) {
for (int i = 0; i < x.size(); i++) {
if (x.get(i).endsWith(".txt")) {
Font fono1 = new Font("sansserif", Font.BOLD, 50);
textArea.setFont(fono1);
textArea.append((String) x.get(i));
} else if (x.get(i).endsWith(".xls")) {
Font fono2 = new Font("Monospaced", Font.ITALIC, 10);
textArea.setFont(fono2);
textArea.append((String) x.get(i));
} else {
Font fono3 = new Font("serif", Font.ROMAN_BASELINE, 5);
textArea.setFont(fono3);
textArea.append((String) x.get(i));
}
textArea.append("\n");
//textArea.append((String) x.get(i));
}
x.clear();
答案 0 :(得分:3)
JTextArea
用于纯文本,而不是格式化。这意味着在任何时候,它可以有一种颜色,一种尺寸,一种颜色。
如果应用程序。需要格式化文本,请查看JEditorPane
或JTextPane
。有关详细信息和工作来源,请参阅How to Use Editor Panes and Text Panes。