java的JTextArea中怎么改变字体颜色

点击图形界面上的指示不同颜色的单选框时,textarea中输入相应颜色的一段文字?... 点击图形界面上的指示不同颜色的单选框时,textarea中输入相应颜色的一段文字? 展开
 我来答
小傻

推荐于2016-08-25 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31134
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部

java swing 中JTEXTAREA不能改变字体颜色,它是纯文本组件,可以使用JTEXTPANE,通过操作DOCUMENT文档来控制JTEXTPANE显示的内容,下面的代码在一个JTEXTPANE中显示了一个图标,三行文字,每行用不同的颜色和大小显示: 

IMPORT JAVAX.SWING.*; 
IMPORT JAVA.AWT.*; 
IMPORT JAVA.AWT.EVENT.*; 
IMPORT JAVAX.SWING.TEXT.*; 
IMPORT JAVA.IO.*; 

PUBLIC CLASS TEST { 
JFRAME FRAME; 
JTEXTPANE TEXTPANE; 
FILE FILE; 
ICON IMAGE; 

PUBLIC TEST(){ 
FRAME = NEW JFRAME("JTEXTPANE"); 
TEXTPANE = NEW JTEXTPANE(); 
FILE = NEW FILE("./CLASSES/TEST/ICON.GIF"); 
IMAGE = NEW IMAGEICON(FILE.GETABSOLUTEFILE().TOSTRING()); 


PUBLIC VOID INSERT(STRING STR, ATTRIBUTESET ATTRSET) { 
DOCUMENT DOC = TEXTPANE.GETDOCUMENT(); 
STR ="\N" + STR ; 
TRY { 
DOC.INSERTSTRING(DOC.GETLENGTH(), STR, ATTRSET); 

CATCH (BADLOCATIONEXCEPTION E) { 
SYSTEM.OUT.PRINTLN("BADLOCATIONEXCEPTION: " + E); 



PUBLIC VOID SETDOCS(STRING STR,COLOR COL,BOOLEAN BOLD,INT FONTSIZE) { 
SIMPLEATTRIBUTESET ATTRSET = NEW SIMPLEATTRIBUTESET(); 
STYLECONSTANTS.SETFOREGROUND(ATTRSET, COL); 
//颜色 
IF(BOLD==TRUE){ 
STYLECONSTANTS.SETBOLD(ATTRSET, TRUE); 
}//字体类型 
STYLECONSTANTS.SETFONTSIZE(ATTRSET, FONTSIZE); 
//字体大小 
INSERT(STR, ATTRSET); 


PUBLIC VOID GUI() { 
TEXTPANE.INSERTICON(IMAGE); 
SETDOCS("第一行的文字",COLOR.RED,FALSE,20); 
SETDOCS("第二行的文字",COLOR.BLACK,TRUE,25); 
SETDOCS("第三行的文字",COLOR.BLUE,FALSE,20); 
FRAME.GETCONTENTPANE().ADD(TEXTPANE, BORDERLAYOUT.CENTER); 
FRAME.ADDWINDOWLISTENER(NEW WINDOWADAPTER() { 
PUBLIC VOID WINDOWCLOSING(WINDOWEVENT E) { 
SYSTEM.EXIT(0); 
}}); 
FRAME.SETSIZE(200,300); 
FRAME.SETVISIBLE(TRUE); 

PUBLIC STATIC VOID MAIN(STRING[] ARGS) { 
TEST TEST = NEW TEST(); 
TEST.GUI(); 

}
匿名用户
2013-05-24
展开全部
用css 控制啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式