Java/Swing でテキスト エディタ タイプのアプリケーションを作成しようとしています。FileChooser が動作しており、ファイルの内容をコンソールに出力できます。ファイルを JEditorPane にロードしたい
setText() を呼び出すと、テキストの値が更新されます (getText の結果を出力できますが、実際の EditorPane は更新されません)。カプセル化された JScrollPane である JEditorPane で repaint/revalidate を呼び出してみましたが、テキストを setText に送信したものに更新するものは何もありません。
何か不足していますか?
PS JEditorPane は JScrollPane 内にラップされ、文字列を JEditorPane の setText メソッドに渡すメソッドが mainEditor にあります。
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) ;
}
}
