java字符串颜色不同_java – 如何在JTextPane中将每个字符设置为不同的颜色/背景颜色?...

如果要更改文本框中每个字符的样式,这里是一个完整的随机方式来执行.您为每个字符创建一个不同的属性集.由你找到适当的组合(前景/背景对比,字符大小不同等等).您还可以存储已应用的不同样式,以使两次不使用相同的样式.

import java.awt.Color;

import java.util.Random;

import javax.swing.JFrame;

import javax.swing.JScrollPane;

import javax.swing.JTextPane;

import javax.swing.text.DefaultStyledDocument;

import javax.swing.text.SimpleAttributeSet;

import javax.swing.text.StyleConstants;

import javax.swing.text.StyledDocument;

public class TestDifferentStyles {

private void initUI() {

JFrame frame = new JFrame(TestDifferentStyles.class.getSimpleName());

frame.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);

StyledDocument doc = new DefaultStyledDocument();

JTextPane textPane = new JTextPane(doc);

textPane.setText("Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has "

+ "been the industry's standard dummy text ever since the 1500s,when an unknown printer took a galley of "

+ "type and scrambled it to make a type specimen book. It has survived not only five centuries,but also the "

+ "leap into electronic typesetting,remaining essentially unchanged. It was popularised in the 1960s with the"

+ " release of Letraset sheets containing Lorem Ipsum passages,and more recently with desktop publishing "

+ "software like Aldus PageMaker including versions of Lorem Ipsum.");

Random random = new Random();

for (int i = 0; i < textPane.getDocument().getLength(); i++) {

SimpleAttributeSet set = new SimpleAttributeSet();

// StyleConstants.setBackground(set,new Color(random.nextInt(256),random.nextInt(256),random.nextInt(256)));

StyleConstants.setForeground(set,random.nextInt(256)));

StyleConstants.setFontSize(set,random.nextInt(12) + 12);

StyleConstants.setBold(set,random.nextBoolean());

StyleConstants.setItalic(set,random.nextBoolean());

StyleConstants.setUnderline(set,random.nextBoolean());

doc.setCharacterAttributes(i,set,true);

}

frame.add(new JScrollPane(textPane));

frame.setSize(500,400);

frame.setVisible(true);

}

public static void main(String[] args) {

javax.swing.SwingUtilities.invokeLater(new Runnable() {

@Override

public void run() {

new TestDifferentStyles().initUI();

}

});

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值