我遇到了我认为设置颜色的奇怪问题。以下代码有效:
Font nameFont=new Font(FontFamily.TIMES_ROMAN, 20.f, Font.BOLD,new BaseColor(mon.getColor().getRGB()));
Paragraph name=new Paragraph(mon.getName(),nameFont);
PdfPCell c=new PdfPCell(name);
但是,此代码不起作用(它使用前一个单元格的颜色):
Font nameFont=new Font(FontFamily.TIMES_ROMAN, 20.f, Font.BOLD,new BaseColor(mon.getColor().getRGB()));
Paragraph name=new Paragraph(mon.getName());
name.setFont(nameFont);
PdfPCell c=new PdfPCell(name);
有人可以解释为什么会这样吗? TIA。
答案 0 :(得分:1)
设置段落的字体不更改其中所有文本的字体,它仅设置用于进一步添加的默认字体。那么,你的
Paragraph name=new Paragraph(mon.getName());
name.setFont(nameFont);
保留现有内容mon.getName()
的字体。如果您做了类似
name.add("some additional text");
此后,您会看到其他文字正在使用您的字体。
Paragraph
从Phrase
继承此行为。