java 怎样设置文本域的字体颜色_Java如何在JTextArea中更改文本颜色?

小编典典

JTextArea是为了娱乐Plain Text。应用于单个字符的设置适用于中的整个文档JTextArea。但随着JTextPane或JEditorPane你有选择,而影响了你String Literals按照自己的喜好。在JTextPane的帮助下,您可以这样操作:

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.border.*;

import javax.swing.text.AttributeSet;

import javax.swing.text.SimpleAttributeSet;

import javax.swing.text.StyleConstants;

import javax.swing.text.StyleContext;

public class TextPaneTest extends JFrame

{

private JPanel topPanel;

private JTextPane tPane;

public TextPaneTest()

{

topPanel = new JPanel();

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setLocationRelativeTo(null);

EmptyBorder eb = new EmptyBorder(new Insets(10, 10, 10, 10));

tPane = new JTextPane();

tPane.setBorder(eb);

//tPane.setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY));

tPane.setMargin(new Insets(5, 5, 5, 5));

topPanel.add(tPane);

appendToPane(tPane, "My Name is Too Good.\n", Color.RED);

appendToPane(tPane, "I wish I could be ONE of THE BEST on ", Color.BLUE);

appendToPane(tPane, "Stack", Color.DARK_GRAY);

appendToPane(tPane, "Over", Color.MAGENTA);

appendToPane(tPane, "flow", Color.ORANGE);

getContentPane().add(topPanel);

pack();

setVisible(true);

}

private void appendToPane(JTextPane tp, String msg, Color c)

{

StyleContext sc = StyleContext.getDefaultStyleContext();

AttributeSet aset = sc.addAttribute(SimpleAttributeSet.EMPTY, StyleConstants.Foreground, c);

aset = sc.addAttribute(aset, StyleConstants.FontFamily, "Lucida Console");

aset = sc.addAttribute(aset, StyleConstants.Alignment, StyleConstants.ALIGN_JUSTIFIED);

int len = tp.getDocument().getLength();

tp.setCaretPosition(len);

tp.setCharacterAttributes(aset, false);

tp.replaceSelection(msg);

}

public static void main(String... args)

{

SwingUtilities.invokeLater(new Runnable()

{

public void run()

{

new TextPaneTest();

}

});

}

}

2020-03-06

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值