gpt4 book ai didi

Java Swing 将文件加载到 JEditorPane 中

转载 作者:行者123 更新时间:2023-12-01 07:37:30 25 4
gpt4 key购买 nike

我正在尝试用 Java/Swing 编写文本编辑器类型的应用程序。我的 FileChooser 正在工作,我可以将文件的内容打印到控制台。我想将文件加载到 JEditorPane

当我调用setText()时,它会更新文本的值(我可以打印getText的结果,但实际的EditorPane不刷新)。我尝试在 JEditorPane(封装 JScrollPane)上调用 repaint/revalidate,但没有任何内容会将文本刷新为我发送到 setText 的内容。

我错过了什么吗?

附注JEdi​​torPane 包装在 JScrollPane 内,我的 mainEditor 中有一个方法将字符串传递给 JEditorPane 的 setText 方法。

      if (r == JFileChooser.APPROVE_OPTION) 
{
FileInputStream fis;
BufferedReader br;
try
{
fis = new FileInputStream(
chooser.getSelectedFile() ) ;
br = new BufferedReader(
new InputStreamReader( fis ) ) ;
String read ;
StringBuffer text = new StringBuffer() ;
while( ( read = br.readLine() ) != null )
{
text.append( read ).append( "\n" ) ;
}
Main.frame.mainEditor.setText( text.toString() ) ;
Main.frame.mainEditor.revalidate();
}
catch( IOException e1 )
{
JOptionPane.showMessageDialog( this ,
"Error in File Operation" ,
"Error in File Operation" ,
JOptionPane.INFORMATION_MESSAGE) ;
}
}

最佳答案

String形成File引用,将其转换为URL,然后调用setPage(URL)

参见here举个例子。

关于Java Swing 将文件加载到 JEditorPane 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9906435/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com