如何显示彩色文本? 我现在的程序需要输出一系列的信息我想把他们输入到JTextArea里面,但是现在我又想把文字加上颜色,请问该如何处理呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用JTextPane吧import javax.swing.*;import java.awt.*;import javax.swing.text.*;import java.io.*;public class Test { JFrame frame = null; JTextPane textPane = null; File file = null; Icon image = null; 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); // 字体大小 // StyleConstants.setFontFamily(attrSet, "黑体"); // 设置字体 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.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(200, 300); frame.setVisible(true); } public static void main(String[] args) { Test test = new Test(); test.gui(); }} Java基础知识,替我分析内存的运作。 在eclipse里,是不是,在程序中必须有一个类的名字,左边树的类名字一样.否则无法Run?? 高手指点 如何在Builder2007的视图里添加菜单栏和菜单 有个运行数据库的问题想问下各位! 请教高手:java里面的数组机制 关于在JSP页面中内嵌applet小程序的问题! 我是初学者,诚心请教一简单问题。 为什么我的TableCell内容没有被格式化? java 的简单问题 11 ??? anubis请进~~~~~~~~~ 30分求教一个需求的思路 对象的引用问题
import javax.swing.*;
import java.awt.*;
import javax.swing.text.*;
import java.io.*;public class Test {
JFrame frame = null; JTextPane textPane = null; File file = null; Icon image = null; 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);
// 字体大小
// StyleConstants.setFontFamily(attrSet, "黑体");
// 设置字体
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.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 300);
frame.setVisible(true);
} public static void main(String[] args) {
Test test = new Test();
test.gui();
}
}