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

在JTable之前和之后附加文本以进行打印

苍嘉澍
2023-03-14
问题内容

我正在尝试打印,JTable并且该print()方法在我遇到这种情况之前效果很好。假设我要打印之前,仅在第一页(不是标题)中打印文本“
Report”,最后在文本中打印“ This is the report
end”。我想再次澄清一下,我在打印时不需要仅此页眉或页脚出现在第一页的顶部和最后一页的底部。

我怎样才能做到这一点?


问题答案:

要做到这一点的方法之一是append()一系列适合的Printable一个实例java.awt.print.Book,如图所示这里。

附录:JTable有一种getPrintable()应该简化事情的方法;这是一个大纲和简单的标题Printable

PrinterJob pj = PrinterJob.getPrinterJob();
Book book = new Book();
book.append(new Title(), pj.defaultPage());
book.append(table.getPrintable(...), pj.defaultPage());
book.append(new EndPage(), pj.defaultPage());
pj.setPageable(book);
pj.print();
...
private static class Title implements Printable {

    Font font = new Font("SansSerif", Font.PLAIN, 48);

    @Override
    public int print(Graphics g, PageFormat pf, int pageIndex)
        throws PrinterException {
        Graphics2D g2d = (Graphics2D) g;
        g2d.translate(pf.getImageableX(), pf.getImageableY());
        g2d.setFont(font);
        g2d.setColor(Color.black);
        g2d.drawString("Report", 50, 200);
        return Printable.PAGE_EXISTS;
    }
}


 类似资料:
  • 在我的Android项目中,我必须将TextChangedListener(TextWatcher)添加到编辑文本视图中。它有三个部分: < Li > < code > ontext changed() < Li > < code > beforeTextChanged() < Li > < code > afterTextChanged() 这三个有什么区别?我必须在键侦听器上实现一个表搜索,对

  • 我试图捕获关键字后面的文本,一直到行的结尾。我花了很多时间在堆栈交换和在线regex测试人员上,试图找到正确的组合。 我非常接近,但我的输出继续捕获新的行。regex101.com声明.*?匹配任何字符(换行符除外)。我很难理解为什么它总是捕获换行符。 下面是我正在搜索的文本的一个片段: Blahblahlah\n公司:BALDWIN LINE CONST OF MD Inc\n联系人姓名:STE

  • 问题内容: 我目前有这个查询 我添加了一项新功能,可让您轻松导航到上一个或下一个项目。有没有一种简单的方法可以修改上面的查询,以便它提取上一行,当前行和下一行?还是仅执行另一个查询会更容易? 问题答案: 您可以使用子查询来获取previos和下一条记录的ID:

  • 问题内容: 我已经寻找了很长时间,并且我对此也找不到任何问题,我想这可能是不可能的,尽管由于该功能很有用,这似乎很奇怪。 我想在这样的情况下,假设有3行,而不是在行号1的末尾添加另一行,那有可能吗? 请不要提及基于某些ID的行排列,因为这是我在这种情况下要做的最后一件事。 问题答案: 使用<-请参阅文档更多构造函数 然后,您可以使用以下方法之一 -在模型中的每一行插入一行。除非指定rowData,

  • 我非常精通编码,但偶尔我会遇到似乎做基本相同事情的代码。我在这里的主要问题是,为什么你会使用 .() 而不是 ? 我一直在寻找,似乎找不到两者之间区别的明确定义,以及何时使用它们,何时不使用它们。 一个比另一个有什么好处,为什么我要使用一个而不是另一个??有人能给我解释一下吗?

  • 如果你希望在每次运行 Puppet 之前执行命令,可以在配置文件中使用 prerun_command 配置。 类似地,你也可以使用 postrun_command 配置运行 Puppet 之后需要执行的命令。 这种机制为 Puppet 与其他软件的集成提供了强大的钩子,甚至可以触发其他机器上的事件。 prerun 和 postrun 命令必须能成功运行(即其返回的状态码为 0),否则 Puppet