【问题标题】:changing the font in a JTextArea for different lines更改 JTextArea 中不同行的字体
【发布时间】:2011-02-05 07:42:31
【问题描述】:

我想在 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();
}
}

【问题讨论】:

    标签: java user-interface swing


    【解决方案1】:

    尝试使用 JEditorPane / JTextPane

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

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

    【讨论】:

      猜你喜欢
      • 2011-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-01
      • 1970-01-01
      • 2013-03-23
      • 2013-07-19
      • 1970-01-01
      相关资源
      最近更新 更多