2017-11-16 14 views
0

こんにちは、私は現在、大学のモジュール用のJavaテキストエディタを開発中です。リッチテキストファイルに保存するためにフォントスタイルとサイズを取得するのに苦労しています。私は現在、テキストエリアにテキストをファイルに書き込むためにprintwriterメソッドを使用しています。 saveFileコードを以下に示しました。これは初めて投稿したので、ごめんなさい。投稿に間違いがある場合は、事前に感謝します。フォントスタイルとフォントサイズをJavaのリッチテキストファイルに保存するには

public class saveFile implements ActionListener 
{ 

    @Override 
    public void actionPerformed(ActionEvent e){ 
     //allow user to enter file name 
     String s = JOptionPane.showInputDialog("Input name of file:"); 
     String w = ""; 
     try 
     { 
      //Allow user to enter directory 
      w = JOptionPane.showInputDialog("Input Directory where you want the file:\n" 
        + "eg C:\\ for C drive"); 
     } 
     catch(Exception writeFile) 
     { 
      JOptionPane.showMessageDialog(null, "Task could not be completed\nPlease try again" 
        ,"File Write Error", JOptionPane.ERROR_MESSAGE, null); 
     } 
     //try catch block 
     try 
     { 
      //check if fields are null or empty 
      if(!(s.isEmpty() && w.isEmpty()) && (w != null && s != null)) 
      { 
       try 
       { 
        //Create new file and append with .rtf 
        File userFile = new File(w + s + ".rtf"); 
        PrintWriter file = new PrintWriter(userFile); 
        //set files content = text 
        file.print(text.getText()); 
        file.close(); 
        File dir = new File(w); 
        if(dir.exists()) 
        { 
         JOptionPane.showMessageDialog(null, "File " + s + " created\n" + "Saved in " + w, null,JOptionPane.PLAIN_MESSAGE); 
        } 
        else 
        { 
         throw new Exception(); 
        } 

       } 
       catch(Exception fileNotCreatedException) 
       { 
        JOptionPane.showMessageDialog(null,"File not created\n" 
          + "Please check to see directory exists","File Error", 
          JOptionPane.ERROR_MESSAGE, null); 
        fileNotCreatedException.printStackTrace(); 
       } 

      } 
     } 

答えて

0

あなたはコンテンツタイプtext/rtfを使用してJTextPaneのとスイングで作業している場合は、RTFEditorKitがStyledDocumentのために使用されています。

OutputStream out = new FileOutputStream(userFile); 
StyledDocument doc = textPane.getStyledDocument(); 
StyledEditorKit editorKit = textPane.getStyledEditorKit(); 
editorKit.write(out, doc, 0, doc.getLength()); 

のHTMLEditorKitもStyledDocumentのベースであるため、HTMLの構文は簡単ですと、それは時々、HTMLでの最初の実験を支払う可能性があります。

関連する問題