如何使用JDK 1.4的打印支持?????

Dancie 2003-08-15 09:31:45
简单一句话:如何打印一段String

我现在在开发一个专卖店的销售系统,现在要打印收据,
我想把它写成String,如下
XXXX公司
---销售员:XXX
-----------------
顺序 货物名 价格 折扣 数量
1 xxx 100 100 1

-------------------------
总计 数量:
总价:
收钱:
找钱:
时间:2003年XX月XX日 HH:MM:SS

怎么样用JDK 1.4的打印功能打印
我自己写了段代码,但是报错
private static PrintService defaultPrinter = PrintServiceLookup.lookupDefaultPrintService();
DocPrintJob job = defaultPrinter.createPrintJob();
DocFlavor flavor = DocFlavor.STRING.TEXT_PLAIN;

DocAttributeSet das = new HashDocAttributeSet();
PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();

AAA: Doc doc = new SimpleDoc(data,flavor,das);

try
{
job = defaultPrinter.createPrintJob();
job.print(doc, pras);
}
catch(PrintException pe)
{
pe.printStackTrace();
MessageDialog md = new MessageDialog(null, "错误", "打印异常。\n"+pe.toString());
md.setModal(true);
md.show();
}

运行时系统老是说DocFlavor flavor 类型不可用,为什么????
如何打印一段String????
请赐教

...全文
223 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dancie 2003-08-15
  • 打赏
  • 举报
回复
自己终于解决了,是使用InputStream类型
try
{
String s = "ssssssssssssssssssssssssssss";
ByteArrayInputStream os = new ByteArrayInputStream(s.getBytes());
PrintRequestAttributeSet pras =
new HashPrintRequestAttributeSet();
DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
PrintService defaultService =PrintServiceLookup.lookupDefaultPrintService();

if (defaultService != null) {
DocPrintJob job = defaultService.createPrintJob();
DocAttributeSet das = new HashDocAttributeSet();
Doc doc = new SimpleDoc(os, flavor, das);
job.print(doc, pras);
Thread.sleep(10000);
}
System.exit(0);

}
catch(Exception e)
{
e.printStackTrace();
}

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧