我用JTabel做了一个表格,想用按钮控制让打印机打印出来JTabel的内容,不知道能么控制请高手指点一下

解决方案 »

  1.   

    button的 actionPerformed(ActionEvent event) 方法里调用下面的onPrint.
    下面是摘自 Professional Java Programming 的,封面是个很cool的外国帅哥.
    protected void onPrint(){

    Thread t=new Thread(new Runnable(){ public void run(){
    PrinterJob pj=PrinterJob.getPrinterJob();
    Paper paper=new Paper();
    paper.setImageableArea(0,0,paper.getWidth(),paper.getHeight());
    PageFormat pageFormat=new PageFormat();
    pageFormat.setPaper(paper);

    TablePrinter tablePrinter=new TablePrinter(table);
    pj.setPrintable(tablePrinter,pageFormat);
    try{
    pj.print();
    }catch(PrinterExceperion pe){
    JOptionPane.showMessageDialog(this,"print error"+pe.getMessage());

    } }
    }


    )
    ;
    t.start();

    }}class TablePrinter implements Printable{ protected JTable table;
    public TablePrinter(JTable tbl){
    table=tbl;

    }

    public int print(Graphics g,PageFormat pf,int index){
    if(index==0){
    g.translate( (int)(pf.getImageableX()),(int)(pf.getImageableY())  );
    table.paint(g);
    return Printable.PAGE_EXISTS;
    }

    return Printable.NO_SUCH_PAGE;

    }
    }
      

  2.   

    在baidu里面搜索一下,我以前做过这样的东西,就是从baidu里面找到的例子