2014-01-05 173 views
1

美好的一天。 所以我正在研究這個項目,我有一個問題。 我有一本百科全書,我想添加一個文本編輯器。 我有一個文本和一個滾動面板,當我選擇我的文本的一個句子時,我按下一個按鈕,更改字體,使文本加粗,斜體,下劃線等。我該怎麼做?Java Eclipse文本編輯器

我的代碼看起來像這樣,text.txt是一個帶有「aaaa」的文本文件。

package test; 

import java.awt.Color; 
import java.awt.EventQueue; 
import java.awt.Rectangle; 
import javax.swing.JFrame; 
import java.io.DataInputStream; 
import java.io.FileInputStream; 
import java.io.InputStreamReader; 
import java.io.Reader; 
import javax.swing.JScrollPane; 
import javax.swing.JTextArea; 

public class test extends JFrame { 
    private static final long serialVersionUID = 1L; 
    JFrame test = new JFrame("test"); 

    public static void main(String[] args) { 
     EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       try { 
        test frame = new test(); 
        frame.setVisible(false); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
    } 

    public test() { 
     setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); 
     setBounds(new Rectangle(0, 0, 0, 0)); 
     getContentPane().setLayout(null); 

     test.setName("frame"); 
     test.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); 
     test.setBounds(300,0,800,800); 
     test.setResizable(false); 
     test.getContentPane().setLayout(null); 

     JScrollPane text = new JScrollPane(); 
     text.setBackground(Color.DARK_GRAY); 
     text.setBounds(0, 0, 500, 400); 
     getContentPane().add(text); 

     JTextArea textarea = new JTextArea(); 
     setBackground(Color.WHITE); 
     textarea.setEditable(false); 
     textarea.setWrapStyleWord(true); 
     textarea.setLineWrap(true); 
     try{ 
      FileInputStream fstream = new FileInputStream("D:\\Facultate\\anul 2\\Java Workspace\\test\\src\\text.txt"); 
      DataInputStream in = new DataInputStream(fstream); 
      Reader reader = new InputStreamReader(in); 
      textarea.read(reader, fstream); 
     }catch(Exception e){System.err.println("Error: " + e.getMessage());} 
     text.setViewportView(textarea); 
    } 
} 

回答

1

從文檔:「JTextArea是一個顯示純文本的多行區域。」因此,如果你想在一個區域使用不同的字體等,你將不得不使用另一個控件,可能RTFEditorKit

0

有一個驚人的免費文本編輯器的Java。你可以在 找到它下載一個最適合你需求的即用型CKEditor軟件包。 這是亞馬遜網絡服務分銷的產品。