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

كيف تطبع مستند نصي أو كائن مرئي في الجافا ؟

بدأه rohaili في 9 يونيو 2009 · 2 رد · 616 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بســم الله الـرحمــن الرحيــم

السلام عليكــم ورحمـة الله وبركاتــه ،،

كيف يمكن طباعة لوحة jpanel وجميع مكوناتها من رسوم ومربعات نص على الطابعة الافتراضية للنظام وتحديد الطباعة بعرض الورقة ؟

300_130.gif

#3

بســم الله الـرحمــن الرحيــم

السلام عليكــم ورحمـة الله وبركاتــه ،،

جزاك الله خيرا علاء الصالحي ، لكن المثال كان طويلا فلم أستطع فهمه في المرة الأولى ، لكن أخذت منه كلمة printable وبحثت في وثائق jdk فوجدت الصفحة التالية وهي تحتوي على مثالين بسيطين في الفقرة 7-3 .

http://java.sun.com/j2se/1.5.0/docs/guide/.../j2d-print.html

وسوف أورد لكم الان المثال الذي أنشأته :

اولا : أضف الصنف التالي إلى مشروعك

package print;

import java.awt.Graphics;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import javax.swing.JPanel;

// الصنف القابل للطباعة يجب أن يكون مشتق implements من الصنف printable
public class AnyPrintAble extends JPanel implements Printable {

//في الدالة print  أكتب أو ارسم ما تريد أن يظهر على الورقة
	public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException {

		graphics.drawString("rohaili", 90, 90);

		return Printable.PAGE_EXISTS;
	}
}

ثانيا : ضع الأوامر التالية في أي مكان تشاء لإنشاء كائن من الصنف السابق وطباعته .

//استدعاء الطابعة الافتراضية
		PrinterJob job = PrinterJob.getPrinterJob();

		//إنشاء كائن قابل للطباعة من الصنف AnyPrintAble
		job.setPrintable(new AnyPrintAble());

		//استدعاء صندوق حوار الطابعة
		if (job.printDialog())
			try {
				//طباعة الصفحة
				job.print();
			}
			catch (PrinterException ex) {
				Logger.getLogger(RohailiprintView.class.getName()).log(Level.SEVERE, null, ex);
			}

ملاحظة : في مربع حوار الطباعة اختر الصفحة الحالية أو من 1إلى 1 .

مرفق المشروع بهيئة netbeans .

rohailiprint.zip

300_130.gif

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…