当前位置: 首页 > 面试题库 >

更改JTextArea中不同行的字体

范楚
2023-03-14
问题内容

我想将不同的字体行添加到JTextArea,但是最后一种字体似乎会覆盖其他字体。

请帮忙…

import java.awt.*;
import javax.swing.*;

@SuppressWarnings("serial")
public class test extends JFrame {

private static JTextArea referenceTextArea = new JTextArea(10, 10);
private JPanel panel = new JPanel();

public test() {
    this.add(panel);
    panel.add(referenceTextArea);
}

public static void textTest() {
    referenceTextArea.setFont(new Font("Serif", Font.BOLD, 15));
    referenceTextArea.append("line1");
    referenceTextArea.append("\n");

    referenceTextArea.setFont(new Font("Serif", Font.ITALIC, 30));
    referenceTextArea.append("line2");
    referenceTextArea.append("\n");
}

public static void main(String[] args) {
    test frame = new test();
    frame.setVisible(true);
    frame.setSize(400, 400);
    frame.setResizable(false);
    frame.setLocationRelativeTo(null);
    frame.setDefaultCloseOperation(EXIT_ON_CLOSE);

    textTest();
}
}

问题答案:

尝试使用JEditorPane / JTextPane

http://download.oracle.com/javase/tutorial/uiswing/components/editorpane.html

这些支持HTML格式。普通的JTextArea的setFont方法将为整个textarea设置字体。



 类似资料:
  • 我试图找到一种方法来更改JTextArea组件中的行距。 稍微搜索一下似乎总是会发现相同的答案:“改用 JTextPane,然后调用 setParagraphAttributes”。 但我想知道是否有可能仅通过 JTextArea 来实现这一点,例如,弄乱字体。 使用< code>deriveFont(...)方法,可以改变字体的字距和字距,即字符之间的水平间距,但我还没能找到改变垂直间距的方法(

  • 问题内容: 有没有一种可靠的方法来计算字符串如何在JTextArea中划分为行? 我有一个固定宽度的JTextArea,当它被填充时,会添加一个新行并垂直扩展。 现在,我需要确切地知道哪一行中的字符。我可以使用字体指标来计算单个字符的宽度,但是我不知道这是否可靠,或者是否有更好的方法。 字体指标是“绝招”吗? 问题答案: 所有JTextComponent都具有和可以提供帮助的方法,但也许更好的是j

  • 有没有可靠的方法来计算一个字符串在JTextArea中是如何划分成行的? 我有一个固定宽度的JTextArea,当它被填充时,就会添加一个新行,并且它会垂直扩展。 现在,我需要确切地知道哪些字符在哪一行。我可以使用字体度量来增加单个字符的宽度,但我不知道这是否可靠,或者是否有更好的方法。 字体度量“诡计”是唯一的方法吗?

  • 问题内容: 我一直在尝试为我的文本更改事件处理机制。就我的目的而言,只要。的文本发生更改,就必须触发一个事件。我尝试使用该接口,这是我的代码。 当文本区域的文本与硬编码的文本匹配时,什么也没发生。如何为此更改事件。 可以通过实现目标吗?如果可以,那怎么办? 问题答案: 我将通过(实际上是一个PlainDocument)获得JTextArea的文档,并使用DocumentListener来侦听更改。

  • 问题内容: 我正在Java Swing中创建一个表单,其中一个字段是。当我在所有其他字段上使用键时,它将焦点移至下一个小部件,但在中,它将在文本中插入制表符(水平空格)。 如何修改此行为? 问题答案:

  • 问题内容: 只是想知道是否可以将一个类中的jTextArea追加到一个单独的类中?我基本上有一个简单的类,该类会不断运行计算,并且我想在自己的类中创建的GUI上查看输出。该程序可以通过System.out.println执行良好,但是我现在想在我的textarea上查看它。在此先感谢您的指导。 已更新-以下代码是我正在运行的代码。问题区域如下(这是一个很大类的方法): 我希望将此输出写入单独的jT