Проблема с диалоговым окном печати в Java
У меня есть JFrame, и он открывает диалог печати Java. Как ниже
PrinterJob pj = PrinterJob.getPrinterJob();
if (pj.printDialog()) {
//Print
}
Проблема в том, что мой JFrame имеет атрибут setAlwaysOnTop(true) и диалоговое окно "Печать" открывается на заднем плане JFrame. Чтобы решить эту проблему, я хочу пойти по такому пути
Перед открытием Printdialog я установлю setAlwaysOnTop(false). После открытия диалогового окна печати я снова установлю setAlwaysOnTop(true).
Но как узнать мой принт Дилаог открыт?
Потому что pj.printDialog() ждет.
Как получить распечатанный dilaog открытый случай?
1 ответ
Вы можете использовать объект printrequestAttributeSet для печати диалогового окна принтера сверху. Например;
PrintRequestAttributeSet set = new HashPrintRequestAttributeSet();
set.add(OrientationRequested.LANDSCAPE);
set.add(new sun.print.DialogOnTop());
Затем используйте
pj.printDialog(set)