2011-11-06 79 views
0

我正在製作一個簡單的聊天應用程序,我試圖找出哪個文本組件更適合使用。組件需要支持彩色文本,提供換行和支持滾動窗格。它也必須允許用戶選擇要使用的字體(大小,樣式等)。要使用哪個文本組件?

這是最好的選擇嗎?謝謝 。

+3

看看這個網頁上的差異:http://download.oracle.com/javase/tutorial/uiswing/components/text.html從你的描述,我認爲對JEditorPane是可能是最好的選擇。它支持彩色文本,而JTextArea沒有 –

+0

谷歌沒有提起這件事..謝謝你生病給它一個閱讀。 – Giannis

+0

@獵人,如果這是一個答案,我可以+1。 –

回答

4

JTextArea可以完成所有這些工作,您可以查看Document界面,因爲這是一個聊天應用程序。該文檔將使您能夠同步兩個組件,如JTextField和JTextArea。文檔不是任何類型的文本字段,而是與其中一個一起使用。 JTextField具有Document「JTextField(Document doc)」的構造函數方法。要設置文本的顏色只需調用JTextArea的setForeground(Color)方法,該方法也是從其父組件JComponent繼承的。

enter image description here

import javax.swing.*; 
import java.awt.*; 

public class Example { 

    JFrame frameA = new JFrame("Example"); 
    JTextArea textA = new JTextArea(); 

    public Example() { 
     frameA.setSize(600, 300); 
     frameA.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     Container content = frameA.getContentPane(); // Set the Color of textA. 
     textA.setForeground(Color.red); 
     content.add(textA); 
     frameA.setVisible(true); 
    } 

    public static void main(String[] args) { 
     Example exam = new Example(); 
    } 
} 
+0

'JTextArea'不支持彩色文本。儘管'JTextPane'和'JEditorPane'都可以。 –

+0

是的JTextArea在這裏是一個代碼示例。 – ThunderWolf

+0

import javax.swing。*; import java.awt。*; 公共類示例{JFrame frameA = new JFrame(「Example」); JTextArea textA = new JTextArea(); public示例(){ frameA.setSize(600,300); frameA.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container content = frameA.getContentPane(); //設置textA的顏色。 textA.setForeground(new Color(255,150,150)); content.add(textA); frameA.setVisible(true); } public static void main(String [] args){ 示例exam = new Example(); } } – ThunderWolf