2016-10-29 15 views
0

で私はJavaでテキストエディタを作るしようとしていますが、私はいくつかの問題を抱えています。保存JTextPaneのコンテンツ(画像、表)ファイル

私はinsertIconとJTextPaneの(とに画像を追加することができます)が、私はそれがファイルが空で保存したとき、私は.DOCとして保存しようとしています。 フォントを変更しようとすると同じですが、JTextPaneで動作しますが、デフォルトフォントを保存すると、フォント/サイズは保存されません。

これは私のSAVEFILE方法であって、事前に

 try { 
     BufferedWriter writer = new BufferedWriter(new FileWriter(filename)); 
     writer.write(text.getText()); 
     writer.close(); 
     saved = true; 
    } catch (IOException err) { 
     err.printStackTrace(); 
    } 
} 

ありがとう:P

EDIT:

私はこのように私のJTextPaneの中に画像を挿入しています:

JFileChooser open = new JFileChooser(); 
      open.showOpenDialog(null); 
      File file = open.getSelectedFile(); 
      Icon image = new ImageIcon(String.valueOf(file)); 
      text.insertIcon(image); 

上記のsaveFileメソッドを使用してJTextPaneをファイルに保存しています。 イメージはJTextPaneに追加されていますが、すべては問題ありませんが、ファイルを開くとイメージはありません。

+1

1)、[MCVE]または[ショート、自己完結、正しい例](http://www.sscce.org/)を投稿してください。 2)画像を取得する方法の1つは、[このQ&A](http://stackoverflow.com/q/19209650/418556)に表示されている画像にホットリンクすることです。 3)['JTextComponent.write(Writer)']を試してください(http://docs.oracle.com/javase/8/docs/api/javax/swing/text/JTextComponent.html#write-java.io.Writer- ) –

+0

私は方法を試みたが、それは働かない。 –

+0

あなたがしているすべてがテキストを保存しているときに、画像が保存されると思われるのはなぜですか?どのようにイメージはこの状況で魔法のように書かれますか? –

答えて

0

あなたはそれを閉じる前に、ライターをフラッシュしてみてください。 writer.flush()行を追加します。これにより、基礎となる出力ストリームがフラッシュされます。本質的にここにファイルへの書き込みが始まります。

編集:私は、コードをテストし、そのファイルに書き込みます。あなたの問題は、あなたがフォントを保存する前と同じではないということですか?

+0

はい、画像を挿入すると、ファイルに保存されません。 –

+0

イメージはファイルに保存されませんか?あなたはテキストを書くだけです。コンポーネント全体を保存するには、Andrewが提案したことを行う必要があります。これにより、コンポーネントの現在の状態が保存されます。そしてテキストだけではありません。 –

+0

私は彼が言ったことを試しました、それは正しくないでしょうか? text.write(writer); –

0

あなたがたEditorKitを使用する必要があります。私は明日より正確な答えを書くつもりです。早いほど良いのヘルプについて