Отображение диалогового окна настроек страницы с моими значениями для печати
Привет,
Я хочу, чтобы отобразить диалоговое окно настройки страницы, как это :
Снимок диалогового окна страницы
Значения, которые я хочу отобразить, следующие :
размер : А4
ориентация : ландшафтная
поля : левое=15, справа=15, верхнее-15, нижнее-15 (в миллиметрах)
Я использую экземпляр HashPrintRequestAttributeSet для передачи параметров в 'getPageFormat' из 'PrinterJob', а затем передаю вычисленный формат функции pageDialog, но значения, отображаемые в диалоговом окне, неверны, особенно поля.
Не могли бы вы исправить приведенный ниже код, чтобы получить ровно 15 мм для каждого поля в диалоговом окне ?
Спасибо.
Крис
Что я уже пробовал:
public void actionPerformed(ActionEvent arg0) { try { PrinterJob pj = PrinterJob.getPrinterJob() ; HashPrintRequestAttributeSet printRequestSet = initializePrintingAttributes() ; PageFormat pf = pj.getPageFormat(printRequestSet) ; pj.pageDialog(pf) ; } catch (Throwable e) { e.printStackTrace(); } } private HashPrintRequestAttributeSet initializePrintingAttributes() { HashPrintRequestAttributeSet printRequestSet = new HashPrintRequestAttributeSet() ; printRequestSet.add(OrientationRequested.LANDSCAPE) ; float width = MediaSize.ISO.A4.getX(MediaPrintableArea.MM) ; float height = MediaSize.ISO.A4.getY(MediaPrintableArea.MM) ; printRequestSet.add(new MediaPrintableArea(15f, 15f, (float)width-15*2, (float)height-15*2, MediaPrintableArea.MM)) ; printRequestSet.add(MediaSizeName.ISO_A4) ; return printRequestSet ; }
Richard MacCutchan
"но значения, отображаемые в диалоговом окне, неверны"
Ну, мы не можем догадаться, что это за ценности. Если вы хотите, чтобы кто-то помог вам, пожалуйста, предоставьте полную информацию о вашей проблеме.
chris_brabant
Привет,
значения, отображаемые для полей, следующие :
слева = 25,35 мм
правильно = 25.4 мм
верх = 25,4 мм
дно = 25,51 мм
Как вы можете видеть, он не соответствует значениям, которые я задал в атрибуте "MediaPrintableArea".
Я не уверен, что атрибут, который я должен использовать для управления полями, - это "MediaPrintableArea", но я не вижу никакого другого, соответствующего полям.
Спасибо
Крис