Я пытался напечатать 2 JPanels на той же странице, каждая jpanel идеально помещается на половину страницы.
Что я делаю, так это оборачиваю jpanel в другую jpanel, которая реализует Printable.1004 * Проблема в том, что правильно печатайте только первую (верхнюю) jpanel,
, остальная часть страницы заполнена серым квадратом
Это код Wrapper Jpanel
public int print(Graphics graphics, PageFormat pageFormat, int pageIndex)
throws PrinterException
{
if (pageIndex == 0)
{
Graphics2D g2 = (Graphics2D) graphics;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2.scale(.485, .473);
paint(graphics);
g2.setColor(Color.white);
g2.fillRect(0, 0, 1, 1);
return Printable.PAGE_EXISTS;
} else
{
return Printable.NO_SUCH_PAGE;
}
}
Это телефонный код
PrinterJob pj = PrinterJob.getPrinterJob();
pj.setJobName("Factura Procter & Gamble");
if (pj.printDialog())
{
try
{
for (int i = 0; i < 1; i++)
{
pj.setPrintable(listaPaneles.get(i));
pj.print();
}
} catch (PrinterException e)
{
System.out.println(e);
}
}
, пожалуйста, помогите мне, спасибо.