Rabu, 09 Mei 2012

Mencetak dengan Direct Print pada Java tanpa Library Tambahan


Manual Report dengan Java
Report yang dibuat menggunakan iReport kadangkala dirasa tidak simpel, programmer kadang lebih memilih untuk langsung mengeluarkan output ke printer. Hal ini dimungkinkan walaupun caranya sangat manual harus mengetikkan program per baris output yang akan dikeluarkan ke Printer. Pembuatan Report dengan cara Manual ini menggunakan library, kode program selengkapnya di bawah ini :

import java.awt.PrintJob;
import java.awt.Graphics;
import java.awt.Font;

private void bPrintActionPerformed(java.awt.event.ActionEvent evt) {                                      
// TODO add your handling code here:
    PrintJob p = getToolkit().getPrintJob(this,"Report",null);
    Graphics g = p.getGraphics();
    g.setFont(new Font("Serif",Font.BOLD,18));
    g.drawString("Contact List", 250, 50);
    g.setFont(new Font("Serif",Font.BOLD,12));
    g.drawString("Nama", 100, 100);
    g.drawString("Address", 250, 100);
    g.drawString("Phone", 400, 100);
    g.drawLine(75, 110, 500, 110);
    g.setFont(new Font("Serif",Font.PLAIN,12));
    for (int i=0; i<tbAccess.getModel().getRowCount(); i++) {
        g.drawString(tbAccess.getModel().getValueAt(i, 0).toString(), 100, 150 + (i * 25));
        g.drawString(tbAccess.getModel().getValueAt(i, 1).toString(), 250, 150 + (i * 25));
        g.drawString(tbAccess.getModel().getValueAt(i, 2).toString(), 400, 150 + (i * 25));
    }
    p.end();
}                                     

Klik Run untuk menjalankan program, kemudian klik Tombol Print.


Report akan langsung dikeluarkan ke Printer sesuai dengan jenis Printer yang terinstal di komputer.


Di bawah ini report dituliskan pada Microsoft Office Document Imaging, hasilnya :