我在使用swing做一个程序,想要点击一个按钮然后打印。添加监听器和打印一个文件(例如txt文件),这我都知道但是我现在想打印出一个证书,证书中的内容是从数据库中取得的,证书要有一定的格式,怎么办呢?谁能帮一下,谢了(证书的样式和我swing的界面的截图都已经在附件中上传了)
[b]问题补充:[/b]
我试一试吧,感觉自己画太麻烦了。
[b]问题补充:[/b]
能给个自己画的打印的例子么?
[b]问题补充:[/b]
lovewhzlq
你看我上传的图片了么?我要的就是这样 的效果。这是什么格式个文件,该怎么实现呢。给个你们用过的打印的例子行不
我贴个例子吧:
[code="java"]
public class Printer {
/**
* @param args
*/
public static void main(String[] args) {
JFrame jf = new JFrame();
JButton jb = new JButton("Print");
jb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
PrinterJob job = PrinterJob.getPrinterJob();
PageFormat pageformat = new PageFormat();
Paper paper = new Paper();
paper.setSize(730, 850);
paper.setImageableArea(0, 0, 730, 850);
pageformat.setPaper(paper);
Book book = new Book();
Printable testPrintable = new Printable() {
@Override
public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException {
graphics.drawString("这是一个test", 0, 0);
graphics.drawString("这是一个test", 0, 100);
graphics.drawString("这是一个test", 0, 200);
try {
Image img = ImageIO.read(new File("D:\\BottomBar.png"));
graphics.drawImage(img, 100, 100, null);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return Printable.PAGE_EXISTS;
}
};
book.append(testPrintable, pageformat);
job.setPageable(book);
boolean doPrint = job.printDialog();
if (doPrint) {
try {
job.print();
} catch (Exception ex) {
}
}
}
});
jf.setSize(400, 300);
jf.getContentPane().add(jb);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
}
}
[/code]
用drawXxxx方法自己定位
这个得自己画吧!好像没见过套样式来打印的包哦!
打印出一个证书,证书中的内容是从数据库中取得的,证书要有一定的格式
这个需求就是要”打印出一个证书“嘛
你就在点击打印证书的时候,用jdbc去从数据库中取得的内容,然后根据一定的格式输出数据到一个文件(新建一个文件),你都知道”打印一个文件",那自然就没问题了嘛
这个就是报表的格式了,
要这种效果你得去研究jasperreport
http://macrochen.iteye.com/blog/164101
http://www.blogjava.net/fastunit/archive/2008/01/16/175687.html
http://jasperreports.sourceforge.net/
思路已经给你了,代码或例子可就没有了