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

برنامج عرض الصور مع خاصيه العرض التلقائى Image Viewer

بدأه Mahmoud Kelany في 13 يناير 2011 · 30 رد · 3,686 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

تحيه طبيه لاعضاء هذا المنتدى الكرام

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

هو برنامج عرض للصور

يقوم هذا البرنامج باختيار مجلد بداخله صور

هذا المجلد يقوم البرنامج باخذ هذه الصور وعمل لها عرض

وتقوم بالتبديل بين الصور و حذفها وطباعتها و .....

وايضا يقوم بخاصيه العرض التلقائى Slide show

التى تقوم بعرض الصور فى وضع الـ Slide show مع تغيير الصور كل 3 ثوانى

مع امكانيه توقف العرض بالضغط على زرار Space وللاستكمال اضغط عليه مره اخرى

وامكانيه الخروج من وضع الـ Slide show بالضغط على زرار ESC

مع امكانيه التقليب بين الصور باستخدام الاتجاهات

لتحميل البرنامج مفتوح المصدر

ImageViewer.zip

تم حذف البرنامج الاخر و اضافه اللغه العربيه فى النسخه الجديده

برجاء الدعاء بالتوفيق فالامتحانات wacko.gif

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 13 يناير 2011 في 18:28

3

Software Developer
Mahmoudkelany.com


 

#2

ربي يوفقك في كل امتحان ، وييسر لك كل عسير.. :)

جاري الإطلاع :blush:

عفواً أحبتي انقطاعي بسبب الدراسة دعواتكم بالتوفيق..

{ لا ينال العلم مستحٍ ولا مستكبر }

#3

+1

Keep it up bro :)


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

#4
M.Allaw كتب:

+1

Keep it up bro :)

:D

ان شاء الله

متشكر على الدفعه دى blink.gif

Software Developer
Mahmoudkelany.com


 

#5

+100000

يعطيك ألف عافية على العمل المتميز

وَعَبْدٌ قَدْ يَنامُ عَلَى حَرِيرٍ ××× وَذُو نَسَبٍ مَفَارِشُهُ التُّرَابُ

#6

تم اضافه اللغه العربيه

مقدرش على زعلك يا عممووو علاء :D

Software Developer
Mahmoudkelany.com


 

#7

برضو لابسك الموضوعين يا عم

مليش دخل أنا :)

تحياتي

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

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

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

728x90.png

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

برضو لابسك الموضوعين يا عم

مليش دخل أنا :)

تحياتي

مش فاهم يعنى ايه "لابسك الموضوعين"

Software Developer
Mahmoudkelany.com


 

#9

برنامج رائع

شكرا

#10
العيافـي كتب:

برنامج رائع

شكرا

اشكرك اخى عثمان

شهاده من اخ كريم اعتز بها

Software Developer
Mahmoudkelany.com


 

#11

يعني هتعمل موضوعين تانيين ولا بسك يعني ملتصق بك كالملابس :)

تحياتي

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

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

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

728x90.png

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

يعني هتعمل موضوعين تانيين ولا بسك يعني ملتصق بك كالملابس :)

تحياتي

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

واللى انت عاوزه تحت امرك :)

Software Developer
Mahmoudkelany.com


 

#13

لدى سوال

ان انا عندى فى القائمه file

هتلاقى حاجه اسمها

Properties

وهى المسئوله عن فتح خصائص الملف

لكن انا حاولت فيها ومش راضيه تيجى معايا

المفروض تفتح لى كدا

post-217802-083283100 1295170112_thumb.p

وبالنسبه هناك امر اخر وهو امر الـ Copy

انا عاوز انسخ هذا الملف فى ذاكره الجهاز

بحيث انى فى اى مكان على الهارد

اعمل past يضع الملف هنا

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

لانى حاولت كتير ولم اتوصل

وشكرا

المرفقات
fileProperties.png

Software Developer
Mahmoudkelany.com


 

#14

هل بحثت عن الحافظة Clipboard؟

استخدمناها في مكان ما من قبل

على كل هذا مثال عليها http://www.javapractices.com/topic/TopicAction.do?Id=82

تحياتي

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

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

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

728x90.png

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

هل بحثت عن الحافظة Clipboard؟

استخدمناها في مكان ما من قبل

على كل هذا مثال عليها http://www.javapract...Action.do?Id=82

تحياتي

شكرا عمموو علاء

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

واشتغلت تمام

لكن كيف اقوم بنسخ ملف كاملا

حاولت لكن قرء الملف وبعد ذلك

فتحت ملف notepad ونسخت الكلام فعلا نسخ معايا

لكن انا عاوز انسخ الملف test.txt كاملا wacko.gifwacko.gif كملف وليس نسخ المحتوى

Software Developer
Mahmoudkelany.com


 

#16

بحثت في كل مكان عن كيفية نسخ الملف للـClipboard ولكن دون جدوى , لقيت كيف تنسخ صورة لكن ملف لا <== اخس عليك ياجافا mad.gif

حاولت أنشئ كلاس FileSelection يعمل implementation للـTransferable كتجربة بسيطة مثل مثال شفته كان لنسخ الصور للحافظه وفيه تم إنشاء Class فكرته مثل الـ TextSelection , فلما نفذت طلع لي Exception فما حاولت أتتبع الخطأ , بس تقريباً أشتغل في الأول لأنه في الـDataFlavor خاصية أسمها imageFlavor خاصة بالصور أما الملفات لقيت خاصية أسمها DataFlavor.javaFileListFlavor فجربتها وتقريباً هي كانت سبب الـException

بالنسبة للكلاس ImageSelection فهذا المثال اللي لقيته :

public  class ImageSelection
    implements Transferable 
  {
    //  the Image object which will be housed by the ImageSelection
    private  Image image;

    public ImageSelection(Image image) {
      this.image  = image;
    }

    // Returns the supported flavors of our  implementation
    public DataFlavor[] getTransferDataFlavors() 
    {
      return  new DataFlavor[] {DataFlavor.imageFlavor};
    }

    //  Returns true if flavor is supported
    public boolean  isDataFlavorSupported(DataFlavor flavor) 
    {
      return  DataFlavor.imageFlavor.equals(flavor);
    }

    // Returns  Image object housed by Transferable object
    public Object  getTransferData(DataFlavor flavor)
      throws  UnsupportedFlavorException,IOException 
    {
      if  (!DataFlavor.imageFlavor.equals(flavor)) 
      {
        throw  new UnsupportedFlavorException(flavor);
      }
      // else  return the payload
      return image;
    }
  }

وهذه كانت تجربتي الي ماكملتها :

public  class FileSelection extends TransferHandler implements Transferable{

    private File file;

        public FileSelection(File file){
            this.file = file;
        }

        public DataFlavor[] getTransferDataFlavors() {
            return new DataFlavor[]{DataFlavor.javaFileListFlavor};
        }

        public boolean isDataFlavorSupported(DataFlavor flavor) {
            return DataFlavor.javaFileListFlavor.equals(flavor);
        }

        public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
   		if(!DataFlavor.javaFileListFlavor.equals(flavor)){
 			throw new UnsupportedFlavorException(flavor);
   		}
   		return file;
        }

}

حاول انت تتبع مكان الخطأ وان شاءالله انا لو لقيت فرصه باحاول فيها مره ثانيه

تم تعديل هذه المشاركة بواسطة M.Allaw في 18 يناير 2011 في 00:52


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

#17

حاولت كدا

  public static void main(String[] args) {
    	BufferedImage read = null;
    	try {
        	read = ImageIO.read(new File("d:/test.jpg"));
        	ImageSelection is = new ImageSelection(read);
    	} catch (Exception ex) {
        	Logger.getLogger(ImageSelection.class.getName()).log(Level.SEVERE, null, ex);
    	}

	}

بصراحه انا لم استطع تجربه

لعدم قدرتى على استخدامه :(

ممكن كيفيه عمل الكود؟؟

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 18 يناير 2011 في 01:09

Software Developer
Mahmoudkelany.com


 

#18

لا كون صورة بأستخدام الـToolkit لداخل Image

 Image = Toolkit.getDefaultToolkit().getImage(Path);
ImageSelection is = new ImageSelection(Image);


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

#19
M.Allaw كتب:

لا كون صورة بأستخدام الـToolkit لداخل Image

 Image = Toolkit.getDefaultToolkit().getImage(Path);
ImageSelection is = new ImageSelection(Image);

طب ما دا زى اللى انا عامله

وبردوا لم عملت تشغيل وعمل past فى اى مكان لم ينسخ لى الصوره

اكيد فيه حاجه تانيه

ممكن تضع الكود كاملا (اللى شغال معاك )

Software Developer
Mahmoudkelany.com


 

#20

برنامج رائع أستاذ محمود

زادك الله من علمه

شكرا


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

الأنفال ۳۳                                  
 

#21

جرب تلصق في word مثلاً

مفروض يشتغل معاك

تحياتي

تم تعديل هذه المشاركة بواسطة علاء الصالحي في 18 يناير 2011 في 14:04

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

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

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

728x90.png

#22
MOHAMED FATHEI كتب:

برنامج رائع أستاذ محمود

زادك الله من علمه

شكرا

ربنا يكرمك يا استاذنا :)

ويزيدنا جميعا يارب

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

جرب تلصق في word مثلاً

مفروض يشتغل معاك

تحياتي

لم تعمل اخى علاء

وهذا هو الكود كاملا للتجربه

import java.awt.Image;
import java.awt.Toolkit;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.io.IOException;

public class ImageSelection
    	implements Transferable {
	//  the Image object which will be housed by the ImageSelection

	private Image image;

	public ImageSelection(Image image) {
    	this.image = image;
	}

	// Returns the supported flavors of our  implementation
	public DataFlavor[] getTransferDataFlavors() {
    	return new DataFlavor[]{DataFlavor.imageFlavor};
	}

	//  Returns true if flavor is supported
	public boolean isDataFlavorSupported(DataFlavor flavor) {
    	return DataFlavor.imageFlavor.equals(flavor);
	}

	// Returns  Image object housed by Transferable object
	public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
    	if (!DataFlavor.imageFlavor.equals(flavor)) {
        	throw new UnsupportedFlavorException(flavor);
    	}
    	// else  return the payload
    	return image;
	}

	public static void main(String[] args) {
    	Image read = Toolkit.getDefaultToolkit().getImage("d:/test.jpg");
    	ImageSelection is = new ImageSelection(read);
	}
}

Software Developer
Mahmoudkelany.com


 

#23
    Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
    clipboard.setContents( stringSelection, this );

تحياتي

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

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

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

728x90.png

#24

خلاص ياعم واخييييييييييييييراً لقيت لك حل بأستخدام مكتبة SWT happy.gif

/*
 * Author Mohammed Allaw
 * 19-01-2011
 * 
 */


import javax.swing.JFileChooser;
import javax.swing.JOptionPane;


import org.eclipse.swt.dnd.Clipboard;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.dnd.FileTransfer;
import org.eclipse.swt.dnd.Transfer;




public class FilesTransporter {


	public static void main(String[] args) {


		JFileChooser fch = new JFileChooser();	
		int res = fch.showOpenDialog(null);

		if(res == JFileChooser.APPROVE_OPTION){

			putInClipboard(fch.getSelectedFile().getPath());
		}


	}

	public static void putInClipboard(final String pathName){

		new Thread(new Runnable(){ 
			public void run(){
		  	Display display =  Display.getCurrent();
		  	Clipboard clip  =  new Clipboard(display);
		  	String[]path={pathName};
		  	Transfer[] trans = {FileTransfer.getInstance()};

		  	clip.setContents(new Object[]{path},trans);
		  	clip.dispose();
		  	JOptionPane.showMessageDialog(null,"File "+pathName+" has been copied successfully!");
		}}).start();
	}

}

مجلد المشروع مع المكتبه في الملحقات

بالهناء والشفاء حبيبي :)

SystemClipboardHandling.rar

1


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

#25

بالنسبة للكود الأول كان للصور مثل لما تسوي print screen يحتفظ بالصورة في الـClipboard تبع النظام بحيث تقدر تلصقها في الرسام أو الـword أوماشابه مثلما قال علاء ولكن لاتستطيع ان تلصقها في أي مكان على القرص الصلب كملف :(

إذا تحب تتطلع على الكود الكامل فمن هنا انا اخذت الكود :

http://www.devx.com/...icle/22326/1954

http://java.sun.com/.../releases/data/

أنا قلت بما انهم سووا كلاس بنفس فكرة الـStringSelection ولكن خاص بالصور إذن ربما ينفع اني اسوي نفس الفكره على الملفات ولكن للأسف مانفعت وماعاد حاولت فيها :(

على العموم الحمدلله لقينا حل :)

تم تعديل هذه المشاركة بواسطة M.Allaw في 19 يناير 2011 في 11:59

1


HeartOutputStream myHeart;
OutputStream myHeartOutStream;

myHeartOutStream = MAllaw.getHeart().getOutputStream();
myHeart = new HeartOutputStream(myHeartOutStream);

while(myHeart.isStillBeating())
myHeart.write("I ♥ Java");

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