java的JTextArea中怎么改变字体颜色
2个回答
展开全部
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 控制啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询