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…!
Thanks tipsnya !
mencetak tanpa mengeluarkan print dialog gmn caranya mas..???
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