打印JTextArea

时间:2014-02-23 05:15:55

标签: java swing

我正在尝试通过打印机打印JTextArea,但是JTextArea中的文本在打印文件即.xps文件中不可见。

bprint.addActionListener(new ActionListener() {
   public void actionPerformed(ActionEvent ae) {
      try {
         int num;
         JFrame f1 = new JFrame("PrintJob");
         Toolkit tkp = p1.getToolkit();
         Properties prop = new Properties();
         PrintJob pjp = tkp.getPrintJo(f1, "Printjob", prop);
         Graphics g = pjp.getGraphics();
         p1.print(g);
         g.dispose();
         pjp.end();
      } catch (Exception e109) {
         System.out.println(e109);
      }
   }
});

2 个答案:

答案 0 :(得分:2)

这不是真正的打印方式,你应该将PrintJob传递给Printable,然后告诉你什么时候需要打印

请查看Printing了解详情

适用于exampleexampleexample

答案 1 :(得分:1)

注意,您正在尝试从ActionListener中创建的JFrame中打印,没有JTextArea,并且当然没有任何文本组件具有来自任何用户的任何代码输入。我认为那里有一个真正的可视化GUI,你打算打印,但如果是这样,上面的代码就不会接近解决方案,因为它正在创建自己的GUI,一个永远不会显示的GUI和一个永远不会得到的JTextArea文本,然后尝试打印它。解决方案是尝试获取对实际可视化JTextArea的引用,然后提取其文本。