menggunakan Java PrintJob

Udah lumayan lama ane ga posting …. heheh bisa2 nilai softskill mata kuliah ane bisa turun nih.. hihih sekarang ane lagi tugas akhir alias penulisan ilmiah.. nah terinspirasi untuk mencetak kwitansi menggunakan printJOB… nih langkahnya… 

1. buat method untuk nge – printnya… method ini akan kita panggil pada saat button ” proses” di tekan…

private void prosesPrint() {

PrinterJob printJob = PrinterJob.getPrinterJob();

printJob.setPrintable(new isiPrint());

try {

printJob.print();

} catch(Exception pe) {

JOptionPane.showMessageDialog(this, “Gagal Mencetak Ke Printer..”);

}

2. buat class yang mengimplementasikan printable

package Main;
import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.print.PageFormat;

import java.awt.print.Printable;

import java.awt.print.PrinterException;

public class IsiPrint implements Printable{
public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException {

try{

String tanggal = new tanggal().ganteng;

String no_kwitansi = CheckBarang.TxtNoTransaksi.getText();

int r = CheckBarang.model2.getRowCount();

Graphics2D grap = (Graphics2D)graphics;

grap.drawString(“Tanggal : “+tanggal, 10, 10);

grap.drawString(“Kasir : Muhammad Ghufron”, 200, 10);

grap.drawString(“No Kwitansi : “+no_kwitansi, 10, 30);

grap.drawLine(10, 50, 200, 50);

}catch(Exception e){

System.out.println(“terjadi kegagalan pada : “+e.getMessage());

}
return PAGE_EXISTS;    }
}

kode diatas cuma potongan aja… yang terpenting disini adalah bahwa

g.drawString(“ininsin”, 192, 29); ini digunakan apabila kita ingin menuliskan teks yang akan dicetak….

g.drawLine(); digunakan untuk membuat garis….

yang paling susah menggunakan printerJob ini adalah kita harus menentukan letak teks atau garis yang akan kita cetak berdasarkan koordinat x1, y1, x2, y2, pokoknya matematika banget dah..

wah … susah kan.. selamat mencoba…!

3 thoughts on “menggunakan Java PrintJob

  1. gimana master, kalo misalkan kita buat suatu frame, yang dialemnya ada 1 jPanel, terus tombol print, ketika kita mencet tombol print tersebut, semua apa saja isi dalam panel tadi langsung kecetak. misal kita buat panel isinya kaya ID Card, nah biodata+background dll bisa kecetak semua, mohon bantuannya, terima kasih banyak :)

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>