2012-02-04 80 views
13

基本上,我有一個JTextPane來保存一些我希望樣式化的文本。 JTextArea對我來說會更好用,但我被告知不能在這些文本中設置樣式?在JTextArea或JTextPane中設置文本樣式

但是,JTextPane似乎沒有適當的樣式。例如,下面的代碼只是返回的HTML包括:

public static void main(String[] args) { 
    JFrame j = new JFrame("Hello!"); 
    j.setSize(200,200); 
    JTextPane k = new JTextPane(); 
    k.setText("<html><strong>Hey!</strong></html>"); 
    j.add(k); 
    j.setVisible(true); 
} 

我希望能夠當用戶與界面交互,只是風格JTextPane中一些文字,但到目前爲止,它只是返回仍然在HTML中的字符串!幫幫我!

回答

3

我用了一個外觀(物質),並調用setContentType("text/html")與顯示的字體問題。我解決它通過調用:

textPane.putClientProperty(JTextPane.HONOR_DISPLAY_PROPERTIES, Boolean.TRUE); 

另一種選擇是包裹在JLabel HTML文本。下面您的示例代碼:

JTextPane k = new JTextPane(); 
k.insertComponent(new JLabel("<html><strong>Hey!</strong></html>")); 
+0

使用'JTextArea'往往比使用更好的'JLabel'因爲'JTextArea'滾動的'JScrollPane'更好,並允許用戶選擇和複製的文本。感謝關於物質外觀和感受的信息。我也使用它,以便提示有幫助。 – Enwired 2016-08-24 22:18:56

相關問題