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

عرض صورة في Applet

بدأه LibyanITGirl في 24 أغسطس 2010 · 14 رد · 1,096 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أواجه مشكلة في الكود التالي ، وهو كود لعرض صورة في Applet

	Image image = null;
	    try {


	    	InputStream im = new BufferedInputStream(
	        new FileInputStream("Car.png"));
	        image = ImageIO.read(im);

	    } catch (IOException e) {
	    }

	    JLabel label = new JLabel(new ImageIcon(image));
		JFrame frame =new JFrame();
		frame.getContentPane().add(label, BorderLayout.CENTER);
		frame.getContentPane().add(P2, BorderLayout.SOUTH);
	    frame.pack();
		frame.setSize(500,500);
		frame.setVisible(true);

	}

البرنامج يعمل بشكل جيد عندما اقوم بعمل compile في ال eclipse ، لكن عندما احاول عرضه في المتصفح تظهر لي نافذة java console بالأخطاء التالية :

Java Plug-in 1.6.0_14
Using JRE version 1.6.0_14-b08 Java HotSpot(TM) Client VM
User home directory = C:\Documents and Settings\tmyz
----------------------------------------------------
c:   clear console window
f:   finalize objects on finalization queue
g:   garbage collect
h:   display this help message
l:   dump classloader list
m:   print memory usage
o:   trigger logging
q:   hide console
r:   reload policy configuration
s:   dump system and deployment properties
t:   dump thread list
v:   dump thread stack
x:   clear classloader cache
0-5: set trace level to <n>
----------------------------------------------------


java.lang.reflect.InvocationTargetException
	at com.sun.deploy.util.DeployAWTUtil.invokeAndWait(Unknown Source)
	at sun.plugin2.applet.Plugin2Manager.runOnEDT(Unknown Source)
	at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.security.AccessControlException: access denied (java.io.FilePermission Car.png read)
	at java.security.AccessControlContext.checkPermission(Unknown Source)
	at java.security.AccessController.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkPermission(Unknown Source)
	at java.lang.SecurityManager.checkRead(Unknown Source)
	at java.io.FileInputStream.<init>(Unknown Source)
	at java.io.FileInputStream.<init>(Unknown Source)
	at carControl.<init>(carControl.java:70)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at java.lang.Class.newInstance0(Unknown Source)
	at java.lang.Class.newInstance(Unknown Source)
	at sun.plugin2.applet.Plugin2Manager$12.run(Unknown Source)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Exception: java.lang.reflect.InvocationTargetException
java.lang.NullPointerException
	at sun.plugin2.applet.Plugin2Manager.findAppletJDKLevel(Unknown Source)
	at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Exception: java.lang.NullPointerException

ولا تظهر الابلت T_T

أرجو المساعدة

lilgirllaptopsoftened2c.jpg

#2

جربي التالي

image = ImageIO.read(getClass().getResourceAsStream("Car.png"));
#3

بارك الله فيك ، لكن مازالت نفس المشكلة قائمة

lilgirllaptopsoftened2c.jpg

#4

هل ال applet محزم في أرشيف jar؟؟

هل تشغلينه من صفحة html أم من appletviewer؟؟

إذا كنت تشغلينه من صفحة html، هل وضعتيها في سيرفر http أم لا؟ يعني هل تظهر في ال address

http://localhost/yourFile.html

أم

file:///C:.../yourFile.html

أعطنا المشروع حتى نجرب

#5

لا لم اضعه في سيرفر

بل كمسار عادي file:///C:.../yourFile.html

أشغله من صفحة html

المشكلة تكونت بسبب كود الصورة ، عندما ازيل كود الصورة تعمل الابلت في المتصفح بشكل عادي

وهذا هو المشروع في المرفقات

CarControl.rar

lilgirllaptopsoftened2c.jpg

#6

يجب أن تضعيه في سيرفر http.

ال applet مقيدة بعدة قيود عند اشتغالها، من بين هذه القيود أنها لا يمكنها الوصول إلى ملفات المستخدم، لكن يمكنها تحميل ملفات من السيرفر.

عندما لا تضعينها في السيرفر، فإن ال JVM تعتبر أنك تريدين الوصول إلى ملفات المستخدم عندما تطلبين الصورة، فيمنعك.

هذا هو سبب الexception التي تحصلين عليها (باعتقادي smile.gif)

Caused by: java.security.AccessControlException: access denied (java.io.FilePermission Car.png read)
#7

حسنا ، سبب معقول ، ان جهازي مثبت عليه اباتشي

وضعت الملفات في السيرفر ودخلت عن طريق ال localhost ، لكن مازالت نفس المشكلة قائمة

:((

lilgirllaptopsoftened2c.jpg

#8

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

هل و ضعتي الصورة في نفس المجلد مع صفحة الويب التي تحتوي على Applet ؟

showimagephp.jpg

#9

بالنسبة لمسألة السيرفر، أظن أني كنت مخطئ لأن لأنه اشتغل معي في الحالتين

post-181903-006016900 1282607826_thumb.p

post-181903-034313500 1282607934_thumb.p

فقط قومي بالتعديل الذي قلت لك سابقا

		Image image = null; 
		try {     

	    	image = ImageIO.read(getClass().getResourceAsStream("Car.png")); 

		} catch (IOException e) { 
		}

وأعيدي تشغيل المتصفح، لأن ال applet لا تترك ال cache إلا بالقوة laugh.gif

المرفقات
Capture.pngCapture-Mozilla Firefox.png
#10

:clapping:

بارك الله فيك وجزاك الله خيرا وجعله في ميزان حسناتك

وأخيييييييييييييييييييييرا ، قمت بالتغيير الذي قلته واستخدمت متصفح الاكسبلورر "كنت استخدم الكروم قبله "

وطللللللللللللللعت الابلت

:thumb_up:

lilgirllaptopsoftened2c.jpg

#11

حياك الله اختي الكريمة ... فقط اود ان اقترح عليكي طريقة اخرى و هي إستخدام MediaTracker لتحميل الصور ..

هذا مثال:

import java.awt.*;
import java.applet.*;
import java.net.*;

public class ImageInApplet extends Applet {

	Image my_pic;
	MediaTracker mt;

	public void init() 
    {
		mt = new MediaTracker(this);

		my_pic = getImage( getDocumentBase(),"pic.jpg" ); 

  		mt.addImage(my_pic,1);

        try {
        	mt.waitForAll();
        }
        catch (InterruptedException  e) {}
	} 

	public void paint(Graphics g) 
	{
		g.drawImage(my_pic,400,400,this);
        g.drawImage(my_pic,0,0,440,440,this);
    } 
}

post-20471-083991300 1282608724_thumb.jp

ImageInApplet.java

بالتوفيق

المرفقات
pic22.JPG

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#12

بارك الله فيكي اختي الكريمة

lilgirllaptopsoftened2c.jpg

#13

بالنسبة لموضوع Applet لا تترك الـ cash استخدموا ctrl+F5 وسيقوم بتحديث الموقع كله بدون المرور بـ cash

أختي بنت اليمن ما فائدة MediaTracker بالضبط؟

تحياتي

تم تعديل هذه المشاركة بواسطة علاء الصالحي في 24 أغسطس 2010 في 04:43 — السبب: إصلاح الأخطاء الإملائية

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

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

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

728x90.png

#14

حياك مشرفنا الكريم علاء :

عند تحميل الصور عبر الشبكة هناك إشكال شائع تواجهة الـ applets

و هو عدم تحميل الصور بشكل صحيح

في الشبكات السريعة تتحمل الصورة بشكل سريع و في الشبكات البطيئة اما ان يتأخر تحميل

الصورة او حتى لا يتم تحميلها بالمرة!!

و هنا تأتي وظيفة الـ MediaTracker في السماح للـ applet من التأكد من ان

جميع الصور تم تحميلها بشكل صحيح او لا

هو بالطبع احد الكلاسات الموجودة في الحزمة awt

بالمناسبة الكلاس ليش محصور على الصور و لكن على الميديا Media بشكل عام ...

و من هنا تجد التوصيف كامل للكلاس

بالتوفيق

1

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#15

جميل جدا اخوانى

انا بصراحه عاوز اتعلمها :wacko:

بس خايف يحصل تضارب دلوقتى لانى بتعلم J2ME وهاتعلم معاها J2EE ربنا يسترها

ان شاء الله نخلص بسرعه من الـ J2ME ونيجي ليكوا هنا :)

ربنا يوفقكم جميعا

Software Developer
Mahmoudkelany.com


 

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