Печать Java JTable слишком мала на экранах с более высоким разрешением - PullRequest
0 голосов
/ 03 июля 2018

Почему шрифт слишком маленький, когда я печатаю jtable на экранах с более высоким разрешением? На 1600x900 он выглядит отлично, но когда я печатаю ту же таблицу на экране с более высоким разрешением, например, 1920x1200, шрифт становится слишком маленьким.

HashPrintRequestAttributeSet attr = null;

attr = new HashPrintRequestAttributeSet();
attr.add(MediaSizeName.ISO_A4);
attr.add(OrientationRequested.LANDSCAPE);
attr.add(new JobName(persistentPrintText, Locale.ENGLISH));

MediaSize mediaSize = MediaSize.ISO.A4;
float mediaWidth = mediaSize.getX(Size2DSyntax.MM);
float mediaHeight = mediaSize.getY(Size2DSyntax.MM);
float imageableX = 10; //mm left and right margins
float imageableY = 10; //mm top and bottom margins
float imageableWidth = (mediaWidth - (2 * imageableX));
float imageableHeight = (mediaHeight - (2 * imageableY));
MediaPrintableArea imageableArea = new MediaPrintableArea(
        imageableX, imageableY,
        imageableWidth, imageableHeight, Size2DSyntax.MM);
attr.add(imageableArea);
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrintable(jTableCivil1Info.getPrintable(JTable.PrintMode.FIT_WIDTH, header, new MessageFormat("Page {0}")));
if (job.printDialog(attr)) {
    try {
        job.print(attr);
    } catch (PrinterException pe) {
        JOptionPane.showMessageDialog(null, pe.getMessage());
    }
}
...