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

عمل browse

بدأه vector_ever في 7 أبريل 2011 · 17 رد · 1,211 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي ملف اكسل امتداد xls وفي هذا الملف بيانات اريد ان أدرجها داخل الكود عن طريق زر browse

post-152477-025299900 1302129083_thumb.j

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

مع العلم ان الملف يتمقرائتهمن هنا

public class Main {


	public static void main(String[] args) throws IOException {
		Input read = new Input();
		read.setInputFile("c:/temp/file.xls");
		read.read();
	}

}

فكيف اقوم بذلك؟

المرفقات
browse.jpg

تم تعديل هذه المشاركة بواسطة vector_ever في 7 أبريل 2011 في 01:36

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#2

تستطيع من خلال JFileChooser وتضيف قيد بحيث لا يفتح سوا ملفات بامتداد xls

:)

تم تعديل هذه المشاركة بواسطة JavaPorgrammer في 7 أبريل 2011 في 01:54

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

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

#3

دا مثال على الـ JFileChooser

كيف أستعمل JFileChooser لاختيار ملف لفتحه أو للحفظ عليه

والقيد بيكون FileFilter

تم تعديل هذه المشاركة بواسطة Mahmoud Kelany في 7 أبريل 2011 في 02:45

Software Developer
Mahmoudkelany.com


 

#4

أخي محمود اولا الله يعطيك العافية

يس لدي استفسارا

الكود الخاص بي ماذا ساكتب بدل السطر

read.setInputFile("c:/temp/file.xls");

هل ساضع السطر التالي

FilemyFile=choice.getSelectedFile();

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

public class Main {


JFileChooser choice  = new JFileChooser();
  choice.setFileSelectionMode(JFileChooser.FILES_ONLY);
FileFilter filter = new FileFilter();
    filter.addExtension("xls");
filter.setDescription("xls Excel files");
    chooser.setFileFilter(filter);  
  int res =choice.showOpenDialog(null);

  if(res==JFileChooser.CANCEL_OPTION)   return;

  FilemyFile=choice.getSelectedFile();


        public static void main(String[] args) throws IOException {
                Input read = new Input();
                read.setInputFile(FilemyFile);
                read.read();
        }

}

هل بهذا الشكل؟

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#5

اى نعم تمام كدا

Software Developer
Mahmoudkelany.com


 

#6
Mahmoud Kelany كتب:

اى نعم تمام كدا

صديقي بس سؤال لانه لم ينفع وظهرت اخطاء

اول شي السطر التالي يعطي فورا خطأ

FilemyFile=choice.getSelectedFile();

يعني لم يتم التصريح عن الـ FilemyFile من قبل لذلك هي خطأ

حاولت بطريقة اخرى بدونها لكن واجهت مشاكل عند الـ Filefilter

post-152477-031323300 1302194690_thumb.j

وعندما لا استخدم القيد أي بدون الـ Filefilter لا اعرف ماذ ساكتب بدل عنوان المسار كما هو مبين بالصورة

المرفقات
error1.jpg

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#7

مسار الملف سيكون :

chooser.getSelectedFile().getPath();

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

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

#8

انت جبت FileFilter دى منين ؟؟؟؟

اللى فيها الدوال بتاعت addExtention

وsetDescription ؟؟؟؟

مش عارف تبع انهى كلاس دى

وكمان الكلاس Input

Software Developer
Mahmoudkelany.com


 

#9
Mahmoud Kelany كتب:

انت جبت FileFilter دى منين ؟؟؟؟

اللى فيها الدوال بتاعت addExtention

وsetDescription ؟؟؟؟

مش عارف تبع انهى كلاس دى

وكمان الكلاس Input

أخي حلمك علي شوي

اول شي الكلاس Input كي اقرا من ملفات اكسل وكل شي تمام وشغال 100% ولا خلاف على الكلاس Input

اما الـ FileFilter فقد بحثت بالانترنت ووجدتها كمثال يشرح هذا الشيء على هذا الرابط JFileChooser

وفي ذلك الرابط ايضا موجود addExtention & setDescription

ثم انك يا اخ محمود قد وافقتني على ذلك المثال في ردي الفائت

على كل حال اخي هل ممكن تعطيني التصحيح كاملا؟؟

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#10
JavaPorgrammer كتب:

مسار الملف سيكون :

chooser.getSelectedFile().getPath();

كمان ما اشتغل

هل لي بكود كامل لاعرف اين المشكلة؟

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#11

ضع الكود مكتوبا اخى الكريم

اخى الكريم اصل يوجد كلاس اسمها FileFilter ولكن ليس بها هذه الدوال لذلك سألتك

المهم ضع الكود كاملا لكى يتم تجربته

وتحديد المشكله

Software Developer
Mahmoudkelany.com


 

#12

القسم الاول من الكود

import javax.swing.JOptionPane;
	import java.io.File;
	import java.io.IOException;
	import jxl.Cell;
	import jxl.Sheet;
	import jxl.Workbook;
import jxl.read.biff.BiffException;



		public class Input {

			/**
		 * @param args
		 */

		private String inputFile;

		public void setInputFile(String inputFile) {
			this.inputFile = inputFile;
		}

		protected static int row ;
		protected static int column;
		protected static int[][] arr;
		//private String Machines_numbers;
		//private String Jobs_numbers;

		public int[][] getArr() {
	        return arr;
	        }

		public void read() throws IOException  {


			File inputWorkbook = new File(inputFile);
			Workbook w;
			try {
				w = Workbook.getWorkbook(inputWorkbook);
				// Get the first sheet
				Sheet sheet = w.getSheet(0);

				//---------------------------read from XML and store in array----------------------------------//

				row = sheet.getRows()-1;       // Machines_numbers
				column = sheet.getColumns()-1;    // Jobs_numbers
				// we subtracted 1 from rows and coulumns because the first row and column is test

								 arr = new int [row][column]; //processing time for every product on every machine

			        String output = "";   // Accumulate text here (should be StringBuilder).
			        //... Print array in rectangular form using nested for loops.

					for (int row = 1; row < sheet.getRows(); row++) {
						for (int column = 1; column < sheet.getColumns(); column++) {

							Cell cell = sheet.getCell(column, row);
							if(cell.getContents() != null && (!cell.getContents().equals("")) ) { 
		                          arr[row-1][column-1] = Integer.parseInt(cell.getContents()); }
							}
					}    

		                          for (int i = 0; i < row; i++) {
		          		            for (int j = 0; j < column; j++) {
			                output += " " + arr[j];
			            }
			                output += "\n";
			        }
					//System.out.println(output);
			      JOptionPane.showMessageDialog(null, "The input is " + "\n" + output, 
			          "F" + (sheet.getRows()-1) + "|Sijk, prmu|Cmax",  JOptionPane.INFORMATION_MESSAGE);



			      /*
			        int [][][]st = SetupTime(arr);//setup time for every product on every machine

			           maxCol(arr);

				       arrayreorder(arr);

				       String Result = "";   // Accumulate text here (should be StringBuilder).
				        //... Print array in rectangular form using nested for loops.

					    Result += cmax (arr);
						      JOptionPane.showMessageDialog(null,"The total processing time " +
					 		 		"in all machines is \n" + Result, null, JOptionPane.INFORMATION_MESSAGE);
			       */
			 		    } 
			catch (BiffException e) {
				e.printStackTrace();
			}

	    }

	}

اما الmain fmethod فالكود الخاص بها هو كما يلي

import javax.swing.*;
import java.awt.*;
import java.io.IOException;

public class Main {


	public static void main(String[] args) throws IOException {


		Input read = new Input();
		read.setInputFile("c:/temp/u.xls");
		read.read();

		SetupTime st = new SetupTime();
		st.setInputST("c:/temp/u.xls");
		st.read1();
	}

}

طبعا الـ JFileChooser ستتم اضافته داخل الmain method

تم تعديل هذه المشاركة بواسطة vector_ever في 7 أبريل 2011 في 23:44

1

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#13

تفضل انا عدلت فى الكلاس الخاصه بالـ Main

import javax.swing.*;
import java.awt.*;
import java.io.IOException;
import javax.swing.filechooser.FileNameExtensionFilter;

public class Main {

	public static void main(String[] args) throws IOException {
    	JFileChooser fileChooser = new JFileChooser();
    	fileChooser.setFileFilter(new FileNameExtensionFilter("EXCL FILES", "xls"));
    	int ch = fileChooser.showOpenDialog(null);
    	if (ch == JFileChooser.APPROVE_OPTION) {
        	Input read = new Input();
        	read.setInputFile(fileChooser.getSelectedFile().getPath());
        	read.read();
    	}
//    	SetupTime st = new SetupTime();
//    	st.setInputST("c:/temp/u.xls");
//    	st.read1();
	}
}

بالتوفيق ان شاء الله

1

Software Developer
Mahmoudkelany.com


 

#14

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

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


#15

أنا عندما عملت فلترة للملفات كانت تمام بس ظهر لي خيار(All files)

كيف أستطيع اخفاءه.

و سؤال آخر هل أستطيع تغيير أيقونة نافذة JFileChooser لتكون نفس أيقونة Project

و شكرا جزيلاً

تم تعديل هذه المشاركة بواسطة pinkangel في 9 أبريل 2011 في 09:39

النجاح ليس كلمة تقال باللسان,

النجاح ليس رؤية ترى في المنام,

النجاح ليس سلعة تباع في الأسواق,

النجاح همة و نشاط و ادارة و قيادة النفس

#16
pinkangel كتب:

أنا عندما عملت فلترة للملفات كانت تمام بس ظهر لي خيار(All files)

كيف أستطيع اخفاءه.

و سؤال آخر هل أستطيع تغيير أيقونة نافذة JFileChooser لتكون نفس أيقونة Project

و شكرا جزيلاً

بالنسبه للسوال الخاص بكيفيه الغاء الخيار All files

استدعى الداله هذه على الكائن الخاص بالـ JFileChooser هكذا

chooser.setAcceptAllFileFilterUsed(false);

بالنسبه للسوال الخاص بايقونه الـ JFileChooser

يمكنك فعل ذلك عن طريق ارسال الـFrame object الى الداله

public int showOpenDialog(Component parent)

او الى الداله

public int showSaveDialog(Component parent)

مثل الكود التالى

public class TestFileChooserIcon {

	public TestFileChooserIcon() {
    	JFileChooser chooser = new JFileChooser();
    	JFrame f = new JFrame();
    	f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	f.setIconImage(new ImageIcon(getClass().getResource("/gui/gui2/icon.png")).getImage());
    	f.setSize(500, 500);
    	f.setVisible(true);
    	chooser.showOpenDialog(f);
	}

	public static void main(String[] args) {
    	new TestFileChooserIcon();
	}
}

بالتوفيق ان شاء الله

Software Developer
Mahmoudkelany.com


 

#17
Mahmoud Kelany كتب:

بالنسبه للسوال الخاص بكيفيه الغاء الخيار All files

استدعى الداله هذه على الكائن الخاص بالـ JFileChooser هكذا

chooser.setAcceptAllFileFilterUsed(false);

بالنسبه للسوال الخاص بايقونه الـ JFileChooser

يمكنك فعل ذلك عن طريق ارسال الـFrame object الى الداله

public int showOpenDialog(Component parent)

او الى الداله

public int showSaveDialog(Component parent)

مثل الكود التالى

public class TestFileChooserIcon {

	public TestFileChooserIcon() {
    	JFileChooser chooser = new JFileChooser();
    	JFrame f = new JFrame();
    	f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	f.setIconImage(new ImageIcon(getClass().getResource("/gui/gui2/icon.png")).getImage());
    	f.setSize(500, 500);
    	f.setVisible(true);
    	chooser.showOpenDialog(f);
	}

	public static void main(String[] args) {
    	new TestFileChooserIcon();
	}
}

بالتوفيق ان شاء الله

شكرا جزيلا

الله يعطيك العافية

النجاح ليس كلمة تقال باللسان,

النجاح ليس رؤية ترى في المنام,

النجاح ليس سلعة تباع في الأسواق,

النجاح همة و نشاط و ادارة و قيادة النفس

#18

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

كيف من المككن أن أجعل jFileChooser

باللغة العربية

وشكرا جزيلا

النجاح ليس كلمة تقال باللسان,

النجاح ليس رؤية ترى في المنام,

النجاح ليس سلعة تباع في الأسواق,

النجاح همة و نشاط و ادارة و قيادة النفس

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