我已经阅读了 JEditorPane 文档,据我所知,您只需要 editorpane.setText(String value); 但是我对java很陌生,这个解决方案不适用于我的代码。我想我错过了一些明显但完全没有想法的东西。
我用这个扩展了 JEditorPane 的类创建了一个新选项卡,这个类旨在打开文件的内容,将它们放在一个数组上,反转数组(所以最新条目在顶部)然后在 JEditorPane 中显示这个列表(使用 JeditorPane 因为我需要将保存 url 变成超链接),
public class HistoryPane extends JEditorPane{
ArrayList<String> historyToSort = new ArrayList<String>();
public HistoryPane(){
setEditable(false);
historySort();
}
public void historySort() {
try (BufferedReader reader = new BufferedReader(new FileReader("BrowserHistory.txt")))
{
String currentLine;
String newLine = new String("\n");
while ((currentLine = reader.readLine()) != null) {
historyToSort.add(currentLine + newLine);
}
} catch (IOException e) {
e.printStackTrace();
}
Collections.reverse(historyToSort);
System.out.println(historyToSort);
}
{
}
private void displayHistory(){
String sorted = historyToSort.toString();
***** HistoryPane.setText(String sorted); <<<------ PROBLEM SYNTAX.*****
}
}
我在 setText() 括号中尝试了多个不同的条目,但没有成功。我错过了什么?谢谢你。
笔记:
这个类不会编译,因为它依赖于另一个类(我不能全部粘贴),但是这段代码位于我的主类创建的选项卡式窗格中:
错误信息:
线程“AWT-EventQueue-0”java.lang.Error 中的异常:未解决的编译问题:令牌“setText”上的语法错误,此令牌后应有标识符 缺少该方法的返回类型 此方法需要正文而不是分号