精华内容
下载资源
问答
  • 2021-03-09 17:44:27

    展开全部

    java swing 中JTEXTAREA不能改变字体颜色,它是纯文本组件,可以使用JTEXTPANE,通过操作DOCUMENT文档来控制JTEXTPANE显示的内容,下面的代码在一个32313133353236313431303231363533e58685e5aeb931333337623462JTEXTPANE中显示了一个图标,三行文字,每行用不同的颜色和大小显示: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();

    }

    }

    更多相关内容
  • Jtextarea如何设置不同字体颜色

    千次阅读 2021-03-08 16:07:30
    // 设置字体的默认颜色为黑色; public ArtFont() { super("字体设置"); // 设置默认字体 boldStyle = 0; italicStyle = 0; underlineStyle = 0; fontSizeStyle = 10; fontNameStyle = "宋体"; font = new Font...

    展开全部

    import javax.swing.*;

    import java.awt.*;

    import java.awt.event.*;

    public class ArtFont extends JFrame implements ActionListener {

    JComboBox fontType, fontSize;

    JCheckBox boldBx;// 粗体按钮32313133353236313431303231363533e4b893e5b19e31333234333364

    JCheckBox italicBx;// 斜体按钮

    JButton colorBtn;// 颜色按钮;

    String[] fontNames;// 字体名称;

    String[] fontSizes;// 字体尺寸;

    JLabel label;// 输入提示标签;

    JTextField inputText;// 文字输入框;

    JTextArea txtArea;// 文字显示区;

    JPanel fontPanel;// 字体设置;

    JPanel showPanel;// 显示效果区

    Font font;

    int boldStyle, italicStyle, underlineStyle;

    int fontSizeStyle;

    String fontNameStyle;

    Color colorStyle = Color.black;// 设置字体的默认颜色为黑色;

    public ArtFont() {

    super("字体设置");

    // 设置默认字体

    boldStyle = 0;

    italicStyle = 0;

    underlineStyle = 0;

    fontSizeStyle = 10;

    fontNameStyle = "宋体";

    font = new Font(fontNameStyle, boldStyle + italicStyle, fontSizeStyle);

    fontPanel = new JPanel();

    fontPanel.setLayout(new FlowLayout());

    // 设置字体名字

    GraphicsEnvironment ge = GraphicsEnvironment

    .getLocalGraphicsEnvironment();

    fontNames = ge.getAvailableFontFamilyNames();// 获得系统中所有字体的名字;

    fontType = new JComboBox(fontNames);

    fontType.setEditable(false);

    fontType.setMaximumRowCount(10);

    fontType.addItemListener(new ItemListener() {

    public void itemStateChanged(ItemEvent e) {

    // 实现监听字体名字改变的事件

    fontNameStyle = (String) e.getItem();// 程序段1

    font = new Font(fontNameStyle, boldStyle + italicStyle,

    fontSizeStyle);

    txtArea.setFont(font);

    }

    });

    // 设置字体大小

    fontSizes = new String[63];

    for (int i = 0; i < 63; i++) {

    fontSizes[i] = Integer.toString((i + 10));

    }

    fontSize = new JComboBox(fontSizes);

    fontSize.setEditable(false);

    fontSize.setMaximumRowCount(10);

    fontSize.addItemListener(new ItemListener() {

    public void itemStateChanged(ItemEvent e) {

    // 实现监听字体大小改变的方法

    // 程序段2

    fontSizeStyle =Integer.parseInt(e.getItem().toString());

    font = new Font(fontNameStyle, boldStyle + italicStyle,

    fontSizeStyle);

    txtArea.setFont(font);

    }

    });

    // 设置粗体选择按钮;

    boldBx = new JCheckBox("粗体");

    boldBx.addItemListener(new ItemListener() {

    public void itemStateChanged(ItemEvent e) {

    // 实现监听选择粗体状态改变的方法

    if(e.getStateChange()==1) boldStyle=1;

    else boldStyle=0;

    font = new Font(fontNameStyle, boldStyle + italicStyle,

    fontSizeStyle);

    txtArea.setFont(font);// 程序段3

    }

    });

    // 设置斜体选择按钮;

    italicBx = new JCheckBox("斜体");

    italicBx.addItemListener(new ItemListener() {

    public void itemStateChanged(ItemEvent e) {

    // 实现监听选择斜体状态改变的方法

    if(e.getStateChange()==1) italicStyle=2;

    else italicStyle=0;

    font = new Font(fontNameStyle, boldStyle + italicStyle,

    fontSizeStyle);

    txtArea.setFont(font);// 程序段4

    }

    });

    // 设置颜色选择;

    colorBtn = new JButton("颜色");

    colorBtn.addActionListener(this);

    // 设置字体面板;

    fontPanel.add(fontType);

    fontPanel.add(fontSize);

    fontPanel.add(boldBx);

    fontPanel.add(italicBx);

    fontPanel.add(colorBtn);

    // 设置输入提示标签

    label = new JLabel("输入");

    // 设置文本输入框;

    inputText = new JTextField(30);

    inputText.addActionListener(this);

    // 设置文本显示区;

    txtArea = new JTextArea(10, 80);// 20行80列;

    txtArea.setFont(font);

    // 设置文本面板;

    showPanel = new JPanel();

    showPanel.add(label);

    showPanel.add(inputText);

    showPanel.setLayout(new FlowLayout());

    showPanel.add(new JScrollPane(txtArea));

    // 设置容器;

    Container container = getContentPane();

    container.setLayout(new BorderLayout());

    container.add(fontPanel, BorderLayout.NORTH);

    container.add(showPanel, BorderLayout.CENTER);

    setSize(500, 300);

    setVisible(true);

    }

    public void actionPerformed(ActionEvent e) {

    if (e.getSource() == colorBtn) {// 改变颜色

    colorStyle = JColorChooser.showDialog(this, "选择字体颜色", colorStyle);

    colorBtn.setForeground(colorStyle);

    txtArea.setForeground(colorStyle);

    } else if (e.getSource() == inputText) {// 将输入文字在文字显示区表示;

    txtArea.setText(inputText.getText());

    }

    }

    public static void main(String args[]) {

    ArtFont artFont = new ArtFont();

    artFont.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }

    }

    2Q==

    已赞过

    已踩过<

    你对这个回答的评价是?

    评论

    收起

    展开全文
  • 应用于单个字符的设置适用于中的整个文档JTextArea。但随着JTextPane或JEditorPane你有选择,而影响了你String Literals按照自己的喜好。在JTextPane的帮助下,您可以这样操作:import java.awt.*;import java.awt....

    小编典典

    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

    展开全文
  • 既然是可能的用途Highlighter(或HTML)用于JTextArea,此api实现了样式文本的简化选项。importjava.awt.*;importjavax.swing.*;importjavax.swing.text.*;publicclassTextPaneHighlighting{...

    既然是可能的用途Highlighter(或HTML)用于JTextArea,此api实现了样式文本的简化选项。import java.awt.*;

    import javax.swing.*;

    import javax.swing.text.*;

    public class TextPaneHighlighting {

    private static final long serialVersionUID = 1L;

    private Highlighter.HighlightPainter cyanPainter;

    private Highlighter.HighlightPainter redPainter;

    public TextPaneHighlighting() {

    JFrame frame = new JFrame();

    JTextPane textPane = new JTextPane();

    textPane.setText("one\ntwo\nthree\nfour\nfive\nsix\nseven\neight\n");

    JScrollPane scrollPane = new JScrollPane(textPane);

    frame.add(scrollPane, BorderLayout.CENTER);//  Highlight some text

    cyanPainter = new DefaultHighlighter.DefaultHighlightPainter(Color.cyan);

    redPainter = new DefaultHighlighter.DefaultHighlightPainter(Color.red);

    try {

    textPane.getHighlighter().addHighlight(0, 3, DefaultHighlighter.DefaultPainter);

    textPane.getHighlighter().addHighlight(8, 14, cyanPainter);

    textPane.getHighlighter().addHighlight(19, 24, redPainter);

    } catch (BadLocationException ble) {

    }

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.setPreferredSize(new Dimension(300, 200));

    frame.setLocationRelativeTo(null);

    frame.pack();

    frame.setVisible(true);

    }

    public static void main(String[] args) {

    SwingUtilities.invokeLater(new Runnable() {

    @Override

    public void run() {

    TextPaneHighlighting tph = new TextPaneHighlighting();

    }

    });

    }

    }

    相比较JTextPane还有更多的选项,例如,用HTML或不使用HTML、字体或通过使用HTML或直接将另一个JComponent放入(也知道JTextArea,但是.)import java.awt.*;

    import javax.swing.*;

    import javax.swing.text.*;

    public class Fonts implements Runnable {

    private String[] fnt;

    private JFrame frm;

    private JScrollPane jsp;

    private JTextPane jta;

    private int width = 450;

    private int height = 300;

    private GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();

    private StyledDocument doc;

    private MutableAttributeSet mas;

    private int cp = 0;

    private Highlighter.HighlightPainter cyanPainter = new DefaultHighlighter.DefaultHighlightPainter(Color.cyan);

    private Highlighter.HighlightPainter redPainter = new DefaultHighlighter.DefaultHighlightPainter(Color.red);

    private Highlighter.HighlightPainter whitePainter = new DefaultHighlighter.DefaultHighlightPainter(Color.white);

    private int _count = 0;

    private int _lenght = 0;

    public Fonts() {

    jta = new JTextPane();

    doc = jta.getStyledDocument();

    jsp = new JScrollPane(jta);

    jsp.setPreferredSize(new Dimension(height, width));

    frm = new JFrame("awesome");

    frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frm.setLayout(new BorderLayout());

    frm.add(jsp, BorderLayout.CENTER);

    frm.setLocation(100, 100);

    frm.pack();

    frm.setVisible(true);

    jta.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

    fnt = ge.getAvailableFontFamilyNames();

    mas = jta.getInputAttributes();

    new Thread(this).start();

    }

    @Override

    public void run() {

    for (int i = 0; i 

    StyleConstants.setBold(mas, false);

    StyleConstants.setItalic(mas, false);

    StyleConstants.setFontFamily(mas, fnt[i]);

    StyleConstants.setFontSize(mas, 16);

    dis(fnt[i]);

    try {

    Thread.sleep(75);

    } catch (Exception e) {

    e.printStackTrace();

    }

    StyleConstants.setBold(mas, true);

    dis(fnt[i] + " Bold");

    try {

    Thread.sleep(75);

    } catch (Exception e) {

    e.printStackTrace();

    }

    StyleConstants.setItalic(mas, true);

    dis(fnt[i] + " Bold & Italic");

    try {

    Thread.sleep(75);

    } catch (Exception e) {

    e.printStackTrace();

    }

    StyleConstants.setBold(mas, false);

    dis(fnt[i] + " Italic");

    try {

    Thread.sleep(75);

    } catch (Exception e) {

    e.printStackTrace();

    }

    }

    jta.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));

    }

    public void dis(String s) {

    _count++;

    _lenght = jta.getText().length();

    try {

    doc.insertString(cp, s, mas);

    doc.insertString(cp, "\n", mas);

    } catch (Exception bla_bla_bla_bla) {

    bla_bla_bla_bla.printStackTrace();

    }

    if (_count % 2 == 0) {

    try {

    jta.getHighlighter().addHighlight(1, _lenght - 1, cyanPainter);

    } catch (BadLocationException bla_bla_bla_bla) {

    }

    } else if (_count % 3 == 0) {

    try {

    jta.getHighlighter().addHighlight(1, _lenght - 1, redPainter);

    } catch (BadLocationException bla_bla_bla_bla) {

    }

    } else {

    try {

    jta.getHighlighter().addHighlight(1, _lenght - 1, whitePainter);

    } catch (BadLocationException bla_bla_bla_bla) {

    }

    }

    }

    public static void main(String[] args) {

    SwingUtilities.invokeLater(new Runnable() {

    @Override

    public void run() {

    Fonts fs = new Fonts();

    }

    });

    }

    }

    展开全文
  • 一个改变JTextArea指定位置文本的背景色的例子
  • java Swing设置文本框文字颜色字体

    千次阅读 2021-02-12 21:35:37
    在java中文本编辑器单独设置文字的控件有个JTextPane,而通常使用的JTextArea似乎不能设置所选文字颜色字体。//实例化一个文本编辑的控件JTextPane editorPane=new JTextPane();//根据所选颜色进行设置...
  • JTextArea有个setSelectedTextColor(Color c)方法和setSelectionColor(Color c)方法,分别设置JTextArea选中文字和背景颜色
  • 既然是可能的用途Highlighter(或HTML)用于JTextArea,此api实现了样式文本的简化选项。importjava.awt.*;importjavax.swing.*;importjavax.swing.text.*;publicclassTextPaneHighlighting{...
  • 如果要更改文本框中每个字符的样式,这里是一个完整的随机方式来执行.您为每个字符创建一个不同的属性集.由你找到适当的组合(前景/背景对比,字符大小不同等等).您还可以存储已应用的不同样式,以使两次不使用相同的...
  • JTextArea怎样将文本域设置为透明/半透明方法: 1、把JTextArea设置为透明: JTextArea.setOpaque(false); 2、如果JTextArea是放在JScrollPane里,需要透明的话,还要这样: scrollPane.setOpaque(fa...
  • 有一对夫妇的方式,你可能能够做到这一点,你可以只需将边界后的边界应用于框架或JTextArea或者您可以支持根据您的需求根据您的需要将Border的值转换为任意方法我的选择是考虑使用构建器模式,这将允许您提供您感...
  • Java Swing - 如何设置选定的文本颜色

    千次阅读 2021-02-26 17:42:21
    import java.awt.Color;import javax.swing.JFrame;import javax.swing....import javax.swing.JTextArea;import javax.swing.WindowConstants;import javax.swing.text.DefaultCaret;public class Main {p...
  • JTextArea是不能改变部分文字属性的,你用JTextPane作为文本输入区域就可以了。给你个例子:import javax.swing.*;import java.awt.*;import java.awt.event.*;import javax.swing.text.*;public class DocColorTest...
  • 1.由于java可视化常用的文本框组件,比如JTextArea,JTextField属于纯文本类型,类似于电脑中的txt文本文件,最多可以设置字体的格式和大小,不能改变字体颜色,所以这就需要另外一种叫做JTextPane的组件简单源码如下...
  • JTextArea如何改变单行字体颜色

    千次阅读 2011-09-28 00:15:20
    JTextArea本身不具备这样的功能,它是纯文本组件,你可以使用JTextPane,通过操作Document文档来控制JTextPane显示的内容,下面的代码在一个JTextPane中显示了一个图标,三行文字,每行用不同的颜色和大小显示: ...
  • JTextArea,文本区域。JTextArea 用来编辑多行的文本。JTextArea 除了允许多行编辑外,其他基本用法和 JTextField 基本一致。 构造方法: /** * 参数说明: * text: 默认显示的文本 * rows: 默认可见的行数 ...
  • JTextArea 用来编辑多行的文本。JTextArea 除了允许多行编辑外,其他基本用法和 JTextField 基本一致。JTextArea 常用构造方法:/*** 参数说明:* text: 默认显示的文本* rows: 默认可见的行数* columns: 默认可见的列...
  • Hello!你好哇,我是灰小猿! 最近在做聊天室相关项目的开发的时候,需要对文本框中的...这就造成了JTextPane文本域中的内容可以根据需要自行设置属性,从而实现不同文字内容的颜色、字号等属性。 通过以下函数可以直
  • Java中GUI编程之JTextField文本框提示文字设置效果

    千次阅读 多人点赞 2021-05-17 19:19:31
    最近在学GUI编程,遇到了文本框的提示文字问题,想了一下,思路还是很简单的,话不多说,咱们直接开整! 实现效果:当该文本框失去焦点且无内容时,显示该提示文字。如果用户点击了该文本框(该文本框获取到了焦点...
  • }a:0:左,1:中,2:右7、文本字体颜色设置MutableAttributeSet attr = new SimpleAttributeSet();StyleConstants.setForeground(attr, fg);setCharacterAttributes(editor, attr, false);fg:为color8、文本背景...
  • [Java教程]javascript实现颜色渐变0 2013-09-04 20:00:27渐变(Gradient)是美学中一条重要的形式美法则,与其相对应的是突变。形状、大小、位置、方向、色彩等视觉因素都可以进行渐变。在色彩中,色相、明度、纯度也...
  • 文字字体设置窗口

    2021-05-15 21:47:48
    * 当选择字体样式下拉框中的某一字体样式时,文本域中的文字设置为指定的字体样式。 * 当选择字体大小下拉框中的某一字体大小时,文本域中的文字设置为指定的字体大小。 * 当选择窗体样式下拉框中的某一窗体效果...
  • 我尝试编程一个客户端 - 服务器聊天,在我的客户端,我得到了一个TextArea用于所有消息。 TextArea已禁用,因此我想知道如何让它看起来“正常”。我找到了解决方案,如下所示:.text-input >...
  • JavaSwing_2.8: JTextArea(文本区域)

    万次阅读 多人点赞 2017-07-09 00:10:50
    JTextArea,文本区域。JTextArea 用来编辑多行的文本。JTextArea 除了允许多行编辑外,其他基本用法和 JTextField 基本一致。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,739
精华内容 695
关键字:

jtextarea设置字体颜色