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

وضع خلفية ل TextArea

بدأه رااحيل في 4 مايو 2010 · 19 رد · 1,204 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

هذا الكود يقوم بوضع خلفية مبهمة ل text area

لكنى لم استطيع ان استخدمه فى الفئة التى اريدها

حاولت و قمت بعمل دالة و بداخلها الكود و هذة الدالة تاخذ متغير من النوع String حيث ان هذا المتغير هو المسار الخاص بالصورة تبعى

و لكن الصورة لم تظهر فى الواجهة التى اريدها بعد ان قمت بمناداة هذة الدالة

اتمنى تفيدونى فى استخلاص الكود الذى ساضعه فى الفئة الخاصة بى حيث سيقوم بتنفيذ هذا ال class و تظهر الصور على الواجهة الاخرى

[import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Image;

import javax.swing.GrayFilter;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class BackgroundSample {
  public static void main(String args[]) {
    JFrame frame = new JFrame("Background Example");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    final ImageIcon imageIcon = new ImageIcon("draft.gif");
    JTextArea textArea = new JTextArea() {
      Image image = imageIcon.getImage();

      Image grayImage = GrayFilter.createDisabledImage(image);
      {
        setOpaque(false);
      }

      public void paint(Graphics g) {
        g.drawImage(grayImage, 0, 0, this);
        super.paint(g);
      }
    };
    JScrollPane scrollPane = new JScrollPane(textArea);
    Container content = frame.getContentPane();
    content.add(scrollPane, BorderLayout.CENTER);
    frame.setSize(250, 250);
    frame.setVisible(true);
  }
}

تم تعديل هذه المشاركة بواسطة اسراء شلبى في 4 مايو 2010 في 17:24

00020309t.gif

1958_1963.gif
#2

هذا الكود أختي كأنه يقوم بوراثة JTextArea

ويقوم بإعادة كتابة override الدالة paint

حاولي أن تقومي بنفس الشيء

في حال وجود مشاكل اعرضي الشيفرة

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#3

برنامجى اصلا يوجد فيه text area و عندما اقوم باستعمال هذا ال

class يقوم هو ببناء text area جديد ..........!

00020309t.gif

1958_1963.gif
#4

السلام عليكم

اخت اسراء كما قال الاخ علاء تقوم هذه الفئة بالوراثة من JTextArea

وتقوم بعمل اعادة تحميل Override للدالة paint

عالعموم هذه هى الشفرة التى يجب ان تستخلصيها من هذه الفئة لاستخدامها فى تطبيقك

package client;

import java.awt.Graphics;
import java.awt.Image;

import javax.swing.GrayFilter;
import javax.swing.ImageIcon;
import javax.swing.JTextArea;

public class MyTextArea extends JTextArea {
	private Image image = null;
	private Image grayImage = null;

	public MyTextArea(String path) {
 	super();
 	try {
 	final ImageIcon imageIcon =
 	new ImageIcon(path);
 	image = imageIcon.getImage();
 	grayImage = GrayFilter.createDisabledImage(image);

 	setOpaque(false);

 	} catch (Exception e) {
 	e.printStackTrace();
 	}

	}

	public void paint(Graphics g) {
 	g.drawImage(grayImage, 0, 0, this);
 	super.paint(g);
	}

}

طبعا هذه الفئة تقوم بعمل textarea خاصة بك بعد رسم الصورة

ومن هنا يجب عليكى استخدامها بدلا من JTextArea العادية

كما فى المثال التالى

package client;

import java.awt.BorderLayout;
import java.awt.Container;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class BackgroundSample {
	public BackgroundSample() {
 	super();
	}

	public static void main(String[] args) {
 	JFrame frame = new JFrame("Background Example");
 	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 	JTextArea textArea =
 	new MyTextArea("C:\\Water lilies.jpg"); // this is your private textarea

 	JScrollPane scrollPane = new JScrollPane(textArea);

 	Container content = frame.getContentPane();
 	content.add(scrollPane, BorderLayout.CENTER);
 	frame.setSize(250, 250);
 	frame.setVisible(true);
 	frame.setLocationRelativeTo(null);
	}
}

ملحوظة :

لا تنسى نسخ الصورة Water lilies.jpg من My Documents الى :C

وجربى البرنامج واخبرينا بالنتيجة

انا طبعا اعرف ان المشرف سيغضب منى لانى كتبت الشفرة جاهزة :wub:

لكن اسراء مجتهدة

وليست كالاخرين الذين يمرون مرور الكرام

تحياتى

تم تعديل هذه المشاركة بواسطة MOHAMED FATHEI في 5 مايو 2010 في 13:02

1


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#5
اقتباس
لكن اسراء مجتهدة

وليست كالاخرين الذين يمرون مرور الكرام

احرجتنى و الله :wub:

تشجيع جميل من معلم لتلميذته

بس يارب الكلام دة ما يتغير بعد سؤالى

انا جربت و علمت كدة فى ال constructor

TextArea=new BackGround();
 add(TextArea,BorderLayout.CENTER);

و مافيش فايدة كما قال القائد سعد زغلول

المشروع فى المرفقات اتمنى تساعدونى

ملحوظة:::معلم بضم الميم

Pioneers.rar

تم تعديل هذه المشاركة بواسطة اسراء شلبى في 5 مايو 2010 في 18:03

00020309t.gif

1958_1963.gif
#6
اسراء شلبى كتب:

و مافيش فايدة كما قال القائد سعد زغلول

انتى هتركبى الراجل جريمة( حرام عليكى )

المهم

فى الفئة Word استبدلى الشفرة الخاصة بك بهذه الشفرة فى السطر 45

BackGround TextArea;

وهذه ايضا فى السطر 586

private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) { 	
 	File f = OpenClass.openDialoge();
 	String path = f.getPath();
 	this.TextArea.background(path);
	}

واضيفى هذا السطر الى الفئة BackGround فى السطر 45

this.repaint();

ووافينا باخر الاخبار

تحياتى

تم تعديل هذه المشاركة بواسطة MOHAMED FATHEI في 5 مايو 2010 في 22:06


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#7

اسراء طبعا لاحظتى ظهور الصورة باللون الرمادى وذلك نتيجة استخدام الشفرة التالية

grayImage = GrayFilter.createDisabledImage(image);

ثم استدعاءها فى الجزء التالى

g.drawImage(grayImage, 0, 0, this);// note grayImage

ولاظهار الصورة بالوانها الاصلية عدلى الفئة خاصتك لتصبح كالتالى

import java.awt.Graphics;
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JTextPane;

public class BackGround extends JTextPane {

	private Image image = null;

	public BackGround() {
 	super();
	}

	@Override
	public void paint(Graphics g) {
 	g.drawImage(image, 0, 0, this);// note image
 	super.paint(g);
	}

	public void background(String path) {
 	try {
 	final ImageIcon imageIcon =
 	new ImageIcon(path);
 	image = imageIcon.getImage();

 	setOpaque(false);

 	this.repaint();

 	} catch (Exception e) {
 	e.printStackTrace();
 	}

	}
}

وهنا تظهر النتيجة الافضل

تحياتى

******


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#8

ولو أن إسراء مجتهدة يا محمد وهذا ما لشك فيه

وأتوقع لها مستقبل باهر بإذن الله

لكن نحن متفقون على أن ما يسري على الجدد يسري على القدم

والعدل سيمة نتمنى جميعاً أن نتسم بها

لذا فالموضوع يقتضي طلب المساعدة فالمساعدة بالأفكار

يقوم الأخ السائل بتنفيذ الأفكار وعرض المشاكل التي تواجهه أو ما يصعب عليه فعله

فيحصل على المساعدة الذي تجعله يعدل الشيفرة الخاصة به للأحسن

وتأكد تماماً أنا هنا نسعى لفائدة السائل قبل أي شيء

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#9
علاء الصالحي كتب:

والعدل سمة نتمنى جميعاً أن نتسم بها

يعنى انا ظالم (:ty:)

انتى السبب يا اسراء :wub: حرمت اساعدك تانى

سلام

**


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#10

كلام تمام . بس المشكلة أحيانا ً - و مع المبتدئين و ما أكثرهم و زى حالاتى بردو - فى كتابة الكود يعنى بتكون فاهم الفكرة بس فى جزئية كده قافلة معاك مش عارف تظبطها . فا تدخل الخبراء أو ذوى الخبرة فى هذا الأمر الذى يسألأ عنه السائل ليس ضرراً و لا عيباً

مادام السائل يبذل جهد و يحاول .

و شكراً للجميع

#11

مش موضوع ظلم أو عدل يا محمد

الموضوع إنك ضيعت على إسراء المحاولات الخطأ الي كانت هتعملها قبل ما ترجع تسأل ثاني

هتقولي وايش فايدة المحاولات الخطأ

هقولك لو كنت فاكر أنك بتتعلم بس من الحاجات الصح الي بتعملها فأنتا غلطان

إنتا بتتعلم فعلياً من الحاجات الخطأ الي بتعملها أكثر ما بتتعلم من الحاجات الصح

تدخل الخبراء جيد يا بيشوي

لكن تدخل الخبراء قبل أن تتعب وتحاول

يعني التواكل على الخبراء وانتظار مساعدتهم كل مرة

مادام هناك هذا الحشد الكبير من الخبراء في المنتدى نعتمد عليهم فمتى سنصبح خبراء

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#12
علاء الصالحي كتب:

مش موضوع ظلم أو عدل يا محمد

الموضوع إنك ضيعت على إسراء المحاولات الخطأ الي كانت هتعملها قبل ما ترجع تسأل ثاني

هتقولي وايش فايدة المحاولات الخطأ

هقولك لو كنت فاكر أنك بتتعلم بس من الحاجات الصح الي بتعملها فأنتا غلطان

إنتا بتتعلم فعلياً من الحاجات الخطأ الي بتعملها أكثر ما بتتعلم من الحاجات الصح

تدخل الخبراء جيد يا بيشوي

لكن تدخل الخبراء قبل أن تتعب وتحاول

يعني التواكل على الخبراء وانتظار مساعدتهم كل مرة

مادام هناك هذا الحشد الكبير من الخبراء في المنتدى نعتمد عليهم فمتى سنصبح خبراء

تحياتي

كلامك صحيح 100% اخى علاء وفعلا نحن نتعلم من الخطأ

فعندما نعمل الصح نكون قد تعلمنا وليس نتعلم

mr.beshoy كتب:

كلام تمام . بس المشكلة أحيانا ً - و مع المبتدئين و ما أكثرهم و زى حالاتى بردو - فى كتابة الكود يعنى بتكون فاهم الفكرة بس فى جزئية كده قافلة معاك مش عارف تظبطها . فا تدخل الخبراء أو ذوى الخبرة فى هذا الأمر الذى يسألأ عنه السائل ليس ضرراً و لا عيباً

مادام السائل يبذل جهد و يحاول .

و شكراً للجميع

فعلا عزيزى بيشوى هذه وجهة نظرى انا ايضا وكثيرا ما تحدث معى

لكن فى النهاية كلام اخونا علاء سليم ويجب ان نلتزم به

تحياتى


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#13

السلام عليكم

قبل ما اكتب مشكلتى

و الله يا اخ علاء حاولت كتير و عملت فئات كتير بحيث انى اقدر استخدما فى الفئة تبعى و مافيش فايدة

و انا الحمد فاهمة اللى الاخ محمد بيقولى اعمليه بس مش عارفة انفذة كويس

و النتيجة مش بتطلع معايا

الاخ محمد:::::

انا حاولت تانى و عملت التغيراات اللى قولت عليها و مافيش فايدة بردو

المشروع فى المرفقات

Pioneers.rar

00020309t.gif

1958_1963.gif
#14

نفسى اعرف عدد التحميل دة ناتج عن ايه؟؟

و مش بيبقى فيه و لا رد.............! :mad:

00020309t.gif

1958_1963.gif
#15
MOHAMED FATHEI كتب:

ولاظهار الصورة بالوانها الاصلية عدلى الفئة خاصتك لتصبح كالتالى

import java.awt.Graphics;
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JTextPane;

public class BackGround extends JTextPane {

	private Image image = null;

	public BackGround() {
 	super();
	}

	@Override
	public void paint(Graphics g) {
 	g.drawImage(image, 0, 0, this);// note image
 	super.paint(g);
	}

	public void background(String path) {
 	try {
 	final ImageIcon imageIcon =
 	new ImageIcon(path);
 	image = imageIcon.getImage();

 	setOpaque(false);

 	this.repaint();

 	} catch (Exception e) {
 	e.printStackTrace();
 	}

	}
}

وهنا تظهر النتيجة الافضل

تحياتى

******

انتى لم تنفذى هذه الخطوة فى المشروع المرفق

نفذى التعديل وجربى التطبيق

تحياتى


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#16

انا مش عايزة الصورة زى ما هى فى الكود انا فعلت عايزة اطلعها باهتة كدة

و علشان كدة انا مش عدلت فى الكود

و مازلت المشكلة قائمة

بالله عليك يا اخ محمد الرد بسرعة بعد اذنك يعنى

لانى عندى مشكلة فى النت فى البيت و بدخل من الكلية

00020309t.gif

1958_1963.gif
#17

اسراء انا حملت التطبيق المرفق فى مشاركتك الاخيرة وجربته

شغلت البرنامج

ضغطت على القائمة insert

ثم على القائمة Background

ثم اخترت صورة من My Documents ثم My Pictures

ثم ضغطت open

فتم ادخال الصورة كخلفية فى صندوق النص

وهو يعمل معى 100% لا ارى اى مشكلة

جربيه على جهاز اخر

بالتوفيق

تم تعديل هذه المشاركة بواسطة MOHAMED FATHEI في 6 مايو 2010 في 15:33


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#18

شكرا جدا يا اخ محمد

انا شغلته على جهاز تانى و كل حاجة تمام

متشكرا جدااا

تعبتك معايا

وفقك الله الى ما يحب و يرضى

00020309t.gif

1958_1963.gif
#19

فقط أحب أن أعقب على هذه النقطة يا إسراء

اقتباس

نفسى اعرف عدد التحميل دة ناتج عن ايه؟؟

و مش بيبقى فيه و لا رد.............!

أختي هناك من يحاول ويفشل

وهناك من يريد أن يساعد لكن وقته لا يسمح له

وفي كل الأحوال ليس لديك حق في أن تقولي لماذا لا يوجد رد

فلا أحد مجبر على المساعدة

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#20
اقتباس
وفي كل الأحوال ليس لديك حق في أن تقولي لماذا لا يوجد رد

فلا أحد مجبر على المساعدة

متأسفة :unsure:

00020309t.gif

1958_1963.gif

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