------关于JTextpane的问题------ 用两个LABEL控件,一个是正确的,一个是错误的就行了~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是啊,一个LABEL就只能有一种样式 如果必须要求使用JTextPane控件呢?请大家多帮忙啊!!!!!! public void displayMessage(String msg){ String str = mConfig.getErrorMessage(msg); int pos = 0; String txt = msgtextPane.getText(); if(!str.equals("")) txt +=str+"\n"; else txt += msg+"\n"; String items []= txt.split("\n"); msgtextPane.setText(txt); for(int loop=0;loop<items.length;loop++){ String txtTemp=items[loop]; if(txtTemp.endsWith(" ")) { setTextColor(msgtextPane,pos,txtTemp.length(),Color.red); pos+=txtTemp.length()+1; } else{ setTextColor(msgtextPane,pos,txtTemp.length(),Color.blue); pos+=txtTemp.length()+1; } } } 给你个显示不同颜色文字的例子:import javax.swing.*;import java.awt.*;import java.awt.event.*;import javax.swing.text.*;public class Test { JFrame frame; JTextPane textPane; public Test(){ frame = new JFrame("JTextPane"); textPane = new JTextPane(); setAttr("第一行的文字",Color.red,false,12); setAttr("第二行的文字",Color.BLACK,true,25); setAttr("第三行的文字",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); } /** * 插入文字 * @param str 字符串 * @param attrSet 字符串详细描述 */ public void insert(String str, AttributeSet attrSet) { Document doc = textPane.getDocument(); str = str + "\n"; try { doc.insertString(doc.getLength(), str, attrSet); } catch (BadLocationException e) { System.out.println("BadLocationException: " + e); } } /** * 简单的设置文字使用的样式 * @param str 字符串 * @param col 颜色 * @param bold 是否粗体,true为粗 * @param fontSize 字体大小 */ public void setAttr(String str,Color col,boolean bold,int fontSize) { SimpleAttributeSet attrSet = new SimpleAttributeSet(); StyleConstants.setForeground(attrSet, col); StyleConstants.setBold(attrSet, bold); StyleConstants.setFontSize(attrSet, fontSize); insert(str, attrSet); } public static void main(String[] args) { new Test(); }} java做的qq登陆界面不能显示出密码那个框 请教一个编程思路,谢谢 有关内部类的理解问题 学了半年,这么简单的I/O题不会。。 请教啊~~~~~~~~ sql date----->String 字符集,不懂 一个才鸟问题 怎样在一个类中在使用一个类? 唉,还是随机问题。。。。。 关于JBuilder6的一个问题 怎样在Jrame放入一张背景图片 报错信息是package system does not exist,怎么改啊?
String str = mConfig.getErrorMessage(msg);
int pos = 0;
String txt = msgtextPane.getText();
if(!str.equals(""))
txt +=str+"\n";
else
txt += msg+"\n"; String items []= txt.split("\n");
msgtextPane.setText(txt);
for(int loop=0;loop<items.length;loop++){
String txtTemp=items[loop];
if(txtTemp.endsWith(" "))
{
setTextColor(msgtextPane,pos,txtTemp.length(),Color.red);
pos+=txtTemp.length()+1;
}
else{
setTextColor(msgtextPane,pos,txtTemp.length(),Color.blue);
pos+=txtTemp.length()+1;
}
} }
import java.awt.*;
import java.awt.event.*;
import javax.swing.text.*;public class Test {
JFrame frame;
JTextPane textPane; public Test(){
frame = new JFrame("JTextPane");
textPane = new JTextPane();
setAttr("第一行的文字",Color.red,false,12);
setAttr("第二行的文字",Color.BLACK,true,25);
setAttr("第三行的文字",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);
}
/**
* 插入文字
* @param str 字符串
* @param attrSet 字符串详细描述
*/
public void insert(String str, AttributeSet attrSet) {
Document doc = textPane.getDocument();
str = str + "\n";
try {
doc.insertString(doc.getLength(), str, attrSet);
}
catch (BadLocationException e) {
System.out.println("BadLocationException: " + e);
}
}
/**
* 简单的设置文字使用的样式
* @param str 字符串
* @param col 颜色
* @param bold 是否粗体,true为粗
* @param fontSize 字体大小
*/
public void setAttr(String str,Color col,boolean bold,int fontSize) {
SimpleAttributeSet attrSet = new SimpleAttributeSet();
StyleConstants.setForeground(attrSet, col);
StyleConstants.setBold(attrSet, bold);
StyleConstants.setFontSize(attrSet, fontSize);
insert(str, attrSet);
} public static void main(String[] args) {
new Test();
}
}