Java中打印对话框焦点问题

时间:2017-11-21 13:39:12

标签: java swing printing jframe print-job-control

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

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

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

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

但是如何知道我的印花dilaog是打开的?

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

如何打开打印dilaog活动?

1 个答案:

答案 0 :(得分:0)

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

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

然后,使用

pj.printDialog(set)