2010-12-04 28 views
1

我有一个JTextComponent(JTextArea)。我正在尝试使用新的1.6 .print()功能打印其内容。这很好。我使用下面的方法签名也这样做在一个无头/非交互模式:如何在使用新的Java 1.6时改变打印参数JTextComponent print()

boolean print(MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintService service, PrintRequestAttributeSet attributes, boolean interactive);

这再次打印出我的内容。

无论其...我想设置我自己的打印参数(即保证金大小和纸张尺寸)..我的是自定义/非标,因为这是收据打印机 -

有什么办法在使用这种形式的打印时设置/配置此信息?

我现在遇到的问题是试图让我的内容适合可打印区域 - 而且我希望有更多的控制 - 我想使用PrintJob和Document这个可以通过PageFormat对象 - 但我不'不知道如何使用上面的信息打印方法来做同样的事情。

在此先感谢 -A-

回答

2

您需要使用PrintRequestAttributeSet属性来指定打印作业的属性。

您创建的PrintRequestAttributeSet

PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet(); 

然后,您需要添加的属性为您的要求确立了新的实例。 Take a look here可用于您可以使用的所有不同属性。

我想你会需要MediaSizeMediaPrintableArea

+0

再次 - 我想用一个自定义的MediaSize - 标准子里的一个。我认为它可能和上面一样简单。但是,当我调用以下:attributes.add(新的MediaSize(80,3000,Size2DSyntax.MM));我从内部的verifyAttributeValue得到了一个类抛出的异常......这似乎很奇怪 – a1o1 2010-12-04 12:08:22

相关问题