ablong 2009-04-21 18:16
浏览 213
已采纳

swing 打印

我在使用swing做一个程序,想要点击一个按钮然后打印。添加监听器和打印一个文件(例如txt文件),这我都知道但是我现在想打印出一个证书,证书中的内容是从数据库中取得的,证书要有一定的格式,怎么办呢?谁能帮一下,谢了(证书的样式和我swing的界面的截图都已经在附件中上传了)
[b]问题补充:[/b]
我试一试吧,感觉自己画太麻烦了。
[b]问题补充:[/b]
能给个自己画的打印的例子么?
[b]问题补充:[/b]
lovewhzlq
你看我上传的图片了么?我要的就是这样 的效果。这是什么格式个文件,该怎么实现呢。给个你们用过的打印的例子行不

  • 写回答

4条回答 默认 最新

  • iteye_14762 2009-04-21 20:38
    关注

    我贴个例子吧:
    [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方法自己定位

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 怎么改成循环输入删除(语言-c语言)
  • ¥15 安卓C读取/dev/fastpipe屏幕像素数据
  • ¥15 pyqt5tools安装失败
  • ¥15 mmdetection
  • ¥15 nginx代理报502的错误
  • ¥100 当AWR1843发送完设置的固定帧后,如何使其再发送第一次的帧
  • ¥15 图示五个参数的模型校正是用什么方法做出来的。如何建立其他模型
  • ¥100 描述一下元器件的基本功能,pcba板的基本原理
  • ¥15 STM32无法向设备写入固件
  • ¥15 使用ESP8266连接阿里云出现问题