打印jeditorpane时控制字体大小和背景颜色

时间:2013-12-19 12:54:02

标签: java swing joptionpane jeditorpane

我想打印出JEditorPane的内容,其中包含突出显示的文本(使用setCharacterAttributes设置颜色)。但是,当我使用最基本的print()方法时,如:

try {
    boolean complete = TextArea.print();
    if (complete) {
        return;
    }
    else {
        JOptionPane.showMessageDialog(null, "File could not be printed");
    }
}
catch (PrinterException ex) {
    JOptionPane.showMessageDialog(null, "File could not be printed");
}

打印的文件看起来并不像我期望的那样。具体做法是:

  1. 打印区域的背景,但不是边距,是浅蓝色。
  2. 突出显示的文字以彩色印刷。
  3. 字体大小非常大(每行只有6或7个字)。这是在创建JEditorPane时指定的 - 打印时是否有使用其他尺寸的方法?
  4. 我想要的是白色背景上的黑色文字。如果有人能指出我正确的方向,我将非常感激!

1 个答案:

答案 0 :(得分:3)

您可以尝试使用此http://java-sl.com/JEditorPanePrinter.html打印JEditorPane的内容。

不打印突出显示。它不属于属性。要打印文本背景/前景,您应指定文本元素的属性。

要缩放JEditorPane的内容,您可以尝试http://java-sl.com/Scale_In_JEditorPane.html

要查看背景,只需设置JEditorPane的背景。但是,某些编辑器工具包对根视图使用自己的渲染,您可能需要在根视图中指定颜色。