الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال: PrintPreview بالجافا !!

مغلق
بدأه صلاح الثبيتي في 31 يوليو 2003 · 3 رد · 881 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم :)

انا ابغى اطبع صفحه من الـ JTextArea و عندي الكود لطباعه الصفحه، لكن ابغى كود للـ PrintPreview للتأكد من الطباعه بشكل صحيح !!

فهل احد عنده مثل هذا الكود ؟؟

#2

لو تسمح انا ابغى كود الطبع ؟؟؟

#3

كود الطباعه:

//import the packages for using the classes in them into the program
import java.awt.*;
import java.awt.print.*;
import javax.swing.*;

/**
 *A class for creating a printer option.
 */
public class Print implements Printable{
	private Component componentToBePrinted;

	public static void printComponent(Component c){
		new Print©.print();
	}
	public Print(Component componentToBePrinted){
		this.componentToBePrinted = componentToBePrinted;
	}
	public void print(){
		PrinterJob printJob = PrinterJob.getPrinterJob();
		printJob.setPrintable(this);
		if(printJob.printDialog())
		try{
			printJob.print();
		}
		catch(PrinterException pe){
			System.out.println("Error printing: " + pe);
		}
	}
	public int print(Graphics g, PageFormat pageFormat, int pageIndex){
		if(pageIndex > 0){
			return(NO_SUCH_PAGE);
		}
		else{
			Graphics2D g2d = (Graphics2D)g;
			g2d.translate(pageFormat.getImageableX(), pageFormat.getImageableY());
			disableDoubleBuffering(componentToBePrinted);
			componentToBePrinted.paint(g2d);
			enableDoubleBuffering(componentToBePrinted);
			return(PAGE_EXISTS);
		}
	}
	public static void disableDoubleBuffering(Component c){
		RepaintManager currentManager = RepaintManager.currentManager©;
		currentManager.setDoubleBufferingEnabled(false);
	}
	public static void enableDoubleBuffering(Component c){
		RepaintManager currentManager = RepaintManager.currentManager©;
		currentManager.setDoubleBufferingEnabled(true);
	}
}

و بعدين تكتب داخل الـ ActionListener للطباعه

Print.printComponent(textArea)

طبعا الـ textArea هو object من JTextArea ،،

طبعاً الكود من الاخ مدني (f) ...

هو يقول انك تقدر تطبع من اي شئ بواسطه هذا الكود ...

انا قدرت اطبع JTextArea و JTable

هذا الموضوع مغلق.

مواضيع مشابهة