我想将不同的字体行添加到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(...)方法,可以改变字体的字距和字距,即字符之间的水平间距,但我还没能找到改变垂直间距的方法(
问题内容: 我一直在尝试为我的文本更改事件处理机制。就我的目的而言,只要。的文本发生更改,就必须触发一个事件。我尝试使用该接口,这是我的代码。 当文本区域的文本与硬编码的文本匹配时,什么也没发生。如何为此更改事件。 可以通过实现目标吗?如果可以,那怎么办? 问题答案: 我将通过(实际上是一个PlainDocument)获得JTextArea的文档,并使用DocumentListener来侦听更改。
问题内容: 有没有一种可靠的方法来计算字符串如何在JTextArea中划分为行? 我有一个固定宽度的JTextArea,当它被填充时,会添加一个新行并垂直扩展。 现在,我需要确切地知道哪一行中的字符。我可以使用字体指标来计算单个字符的宽度,但是我不知道这是否可靠,或者是否有更好的方法。 字体指标是“绝招”吗? 问题答案: 所有JTextComponent都具有和可以提供帮助的方法,但也许更好的是j
有没有可靠的方法来计算一个字符串在JTextArea中是如何划分成行的? 我有一个固定宽度的JTextArea,当它被填充时,就会添加一个新行,并且它会垂直扩展。 现在,我需要确切地知道哪些字符在哪一行。我可以使用字体度量来增加单个字符的宽度,但我不知道这是否可靠,或者是否有更好的方法。 字体度量“诡计”是唯一的方法吗?
问题内容: 我正在Java Swing中创建一个表单,其中一个字段是。当我在所有其他字段上使用键时,它将焦点移至下一个小部件,但在中,它将在文本中插入制表符(水平空格)。 如何修改此行为? 问题答案:
问题内容: 只是想知道是否可以将一个类中的jTextArea追加到一个单独的类中?我基本上有一个简单的类,该类会不断运行计算,并且我想在自己的类中创建的GUI上查看输出。该程序可以通过System.out.println执行良好,但是我现在想在我的textarea上查看它。在此先感谢您的指导。 已更新-以下代码是我正在运行的代码。问题区域如下(这是一个很大类的方法): 我希望将此输出写入单独的jT