0

我有一个 JFrame,它会打开 java Print Dialog.Like 下面

 PrinterJob pj = PrinterJob.getPrinterJob();
  if (pj.printDialog()) {
      //Print
    }

问题是我的 JFrame 具有setAlwaysOnTop(true)属性,并且打印对话框在 JFrame 的背景中打开。为了解决这个问题,我想遵循这样的方式

在打开 Printdialog 之前,我将设置 setAlwaysOnTop(false) 在打开打印对话框之后,我将再次设置 setAlwaysOnTop(true)。

但是如何知道我的打印对话框打开了?

因为 pj.printDialog() 正在等待。

如何获得打印对话框打开事件?

4

1 回答 1

0

您可以使用 printrequestAttributeSet 对象在顶部打印打印机对话框。例如;

PrintRequestAttributeSet set = new HashPrintRequestAttributeSet();
set.add(OrientationRequested.LANDSCAPE);
set.add(new sun.print.DialogOnTop());

然后,使用

pj.printDialog(set)
于 2018-07-04T12:06:21.310 回答