PDA المساعد الشخصي الرقمي

عرض كامل الموضوع : مشروع mfsp ~ عن طريق الجافا



мємσяιзs
02-07-2011, 19:18
السلآم عليكم ورحمة الله وبركاته

كيفكم يآ مبرمجين و مبرمجات
منهم المكاساتيين والمكساتيات

:d

مشروع

MFSP
MP3 FILES SORTING PROGRAM

هو مشروع او برنامج بحيث انه يرتب وينشئ البلايليست سوآء للكمبيوتر او الجوال

وفكرة البرنآمج انه يرتب الملفات الصوتية ويعطيها الخصائص وبعض الافكآر والاقترآحات الاخرى

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

ونرحب بالافكار والاقترآحات

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

طبعا كالعادة

وجود

دآيموند & ذآ بسوم
مهم
في برآمجي

لذآ رآح امشي معاكم بافكاركم و اقتراحاتكم
لو قدرت عليهآ
:d
خخخ


عسى الله يوفقنا لكل مآ يحبه ويرضآه

:)

روح سامية
02-07-2011, 19:30
و عليكم السلام و رحمة الله و بركاته

مرحبا أخي العزيز
تشكر أخي العزيز:أوو:
بإذنه تعالى نكون مفيدين للصحة

سؤال
هل سترفع البرنامج بعد التصريف هنا
أم ِأنك سترفع الشفرة البرمجية أيضا ؟

نحن بانتظارك
تحياتي
روح سامية

мємσяιзs
02-07-2011, 19:47
و عليكم السلام و رحمة الله و بركاته

مرحبا أخي العزيز
تشكر أخي العزيز:أوو:
بإذنه تعالى نكون مفيدين للصحة

سؤال
هل سترفع البرنامج بعد التصريف هنا
أم ِأنك سترفع الشفرة البرمجية أيضا ؟

نحن بانتظارك
تحياتي
روح سامية



عفوآ

نعم نعم
كل شيء مع الشفرة او الكود او السورس
^^"

تقدر تقول عمل جماعي ولازم من المشآركة

طبعا لمن احب
^^"

Diamond mas
03-07-2011, 11:41
وعليكم السلام ورحمة الله وبركاته

أهلاً بصديقنا الغالي :)

يبدو مشروعاً مثيراً،
سؤال... ما هو ناتج هذا البرنامج؟
كيف سيرتب الملفات؟
هل سيغير أسماء الملفات وخصائصها؟
ما هي صيغة البلاي-ليست وكيف يمكن استيرادها واستخدامها في برامج تشغيل الصوتيات؟

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

мємσяιзs
05-07-2011, 11:52
وعليكم السلام ورحمة الله وبركاته

أهلاً بصديقنا الغالي :)

يبدو مشروعاً مثيراً،
سؤال... ما هو ناتج هذا البرنامج؟
كيف سيرتب الملفات؟
هل سيغير أسماء الملفات وخصائصها؟
ما هي صيغة البلاي-ليست وكيف يمكن استيرادها واستخدامها في برامج تشغيل الصوتيات؟

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



سؤال... ما هو ناتج هذا البرنامج؟

جوآب...
الناتج برنامج لتعديل الخصائص وتنظيم الملفات الصوتية , مثلآ
هناك البومات الـ Retail لمن تفتح مجلد الالبوم بتلقى الملفات الصوتية مع صور الالبوم وملف البلاي ليست Playlist
:)

كيف سيرتب الملفات؟

سوف يرتبها ترتيبها على حسب رغبتنا ^^"
نتعامل مع الملف الاول فاالثاني فالثالث وهكذآ
سواء اذا كان بالترقيم او لا
لآن الترتيب في ملف البلاي ليست :)

هل سيغير أسماء الملفات وخصائصها؟

بأذن الله
^_^

ما هي صيغة البلاي-ليست وكيف يمكن استيرادها واستخدامها في برامج تشغيل الصوتيات؟

صيغة الملف البلاي ليست هي m3u
البرنامج راح يكون مسؤول عن انشاء الملف هذا
اما في برامج التشغيل لآ اظن ان هناك مشكلة مع الملف هذا لاني جربته عالوندوز و الموبايل بالاخص في نوكيا اللي تدعم الملفات MP3 طبعا مثل N وانت طالع ^^"


آمين ^_^

мємσяιзs
05-07-2011, 11:58
طبعا ابغى مسآعدة منكم يآ شباب

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

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

1- امثلة على قراءة وتعديل الخائص الخاصة لاي ملف في الكونسول.
2- امثلة على قراة او تعديل ملف صوتي مثل mp3.


طبعا المثال سورس او كود ^^"

مقدر مساعدتكم ليآ

^_^

روح سامية
05-07-2011, 12:25
هذا يبدو مفيدا...:موسوس:

روح سامية
05-07-2011, 12:35
تعذرنا يالحبيب
بدأنا تحميل إي كليبس توا و يبدو أنه سيأخذ وقتا ليس بالقليل أبدا

мємσяιзs
05-07-2011, 12:39
هذا يبدو مفيدا...:موسوس:





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


جاري المشاهدة

كويس , عشان تعيش الجو معايا ^^"

ومشكور مقدما "

мємσяιзs
05-07-2011, 12:44
اثناء بحثي الان

لقيت هذآ بس بالسي شارب
الكود واضح طبعا لكم


class MusicID3Tag

{

public byte[] TAGID = new byte[3]; // 3
public byte[] Title = new byte[30]; // 30
public byte[] Artist = new byte[30]; // 30
public byte[] Album = new byte[30]; // 30
public byte[] Year = new byte[4]; // 4
public byte[] Comment = new byte[30]; // 30
public byte[] Genre = new byte[1]; // 1

}

string filePath = @"C:\Documents and Settings\All Users\Documents\My Music\Sample Music\041105.mp3";

using (FileStream fs = File.OpenRead(filePath))
{
if (fs.Length >= 128)
{
MusicID3Tag tag = new MusicID3Tag();
fs.Seek(-128, SeekOrigin.End);
fs.Read(tag.TAGID, 0, tag.TAGID.Length);
fs.Read(tag.Title, 0, tag.Title.Length);
fs.Read(tag.Artist, 0, tag.Artist.Length);
fs.Read(tag.Album, 0, tag.Album.Length);
fs.Read(tag.Year, 0, tag.Year.Length);
fs.Read(tag.Comment, 0, tag.Comment.Length);
fs.Read(tag.Genre, 0, tag.Genre.Length);
string theTAGID = Encoding.Default.GetString(tag.TAGID);

if (theTAGID.Equals("TAG"))
{
string Title = Encoding.Default.GetString(tag.Title);
string Artist = Encoding.Default.GetString(tag.Artist);
string Album = Encoding.Default.GetString(tag.Album);
string Year = Encoding.Default.GetString(tag.Year);
string Comment = Encoding.Default.GetString(tag.Comment);
string Genre = Encoding.Default.GetString(tag.Genre);

Console.WriteLine(Title);
Console.WriteLine(Artist);
Console.WriteLine(Album);
Console.WriteLine(Year);
Console.WriteLine(Comment);
Console.WriteLine(Genre);
Console.WriteLine();
}
}
}

وهذا مثال اخر له


UltraID3 u = new UltraID3();
u.Read(@"C:\mp3\song.mp3");
//view
Console.WriteLine(u.Artist);
//edit
u.Artist = "New Artist";
u.Write();

انا جبتها عشان افهم الالية حقها بس
وكيف تم استخدامها
>_<

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


// Read properties file.
Properties properties = new Properties();
try {
properties.load(new FileInputStream("Bo3.mp3.properties"));
} catch (IOException e) {
e.printStackTrace();
}

// Write properties file.
try {
properties.store(new FileOutputStream("Bo3.mp3.properties"), null);
} catch (IOException e) {
e.printStackTrace();
}

::مغتاظ::

мємσяιзs
05-07-2011, 12:49
http://www.docjar.org/docs/api/helliker/id3/MP3File.html

بعد القرآءة السريعة والمشآهدة

اتوقع اني رآح استفيد واستخدمه كثييير

مشكووور والله

جاري التجآرب

^^"

اممم

شوفو هنا

java.lang.String getAlbum()
Returns the album of the mp3 if set and the empty string if not.
java.lang.String getArtist()
Returns the artist of the mp3 if set and the empty string if not.

هذا لجلب المعلومات مثل الالبوم والفنان

وهذآ الكود

void setAlbum(java.lang.String album)
Set the album of this mp3.
void setArtist(java.lang.String artist)
Set the artist of this mp3.

لوضع الالبوم والفنان

::سعادة::


بس لآزم نجرب ونحاول
::مغتاظ::

мємσяιзs
05-07-2011, 12:51
<<<<<<

رآح ارفع السورس او الكود بعد كل تجربة ناجحة


<<<<<<<<

:d

روح سامية
05-07-2011, 13:04
<<<<<<

رآح ارفع السورس او الكود بعد كل تجربة ناجحة


<<<<<<<<

:d

نحن بانتظارك <و بانتظار الإي كليبس> ::جيد::

мємσяιзs
05-07-2011, 13:23
Read an id3 from a file:

Reader reader = new Reader();
File songFile = new File("my-song.mp3");
FileInputStream in = new FileInputStream(songFile);
Tag tag = reader.read(songFile);
in.close();
System.out.println("this song is: " + tag.getTitle());

Modify a value (continuing the example above):

tag.setTitle("my new song title");
tag.setArtist("The Great Gazoos");

Save the song to a file with the new tags:

Mp3File mp3 = new Mp3File(songFile);
mp3.setTag(tag);
File newSongFile = new File("new-song-file.mp3");
mp3.write(newSongFile);


:d

мємσяιзs
05-07-2011, 13:29
نحن بانتظارك <و بانتظار الإي كليبس> ::جيد::


::جيد::

мємσяιзs
05-07-2011, 13:30
نحن بانتظارك <و بانتظار الإي كليبس> ::جيد::


::جيد::

мємσяιзs
05-07-2011, 17:01
اممم

:مذنب:


بعد بحث طويل توصلت انه لآزم من وجود مكتبة لغرض تغير خصائص الملف الصوتي

ID3

وهناك عدة انواع على حسب المبرمج اللي مبرمجها
وعشان استخدمها
لازم اسويلها امبورت import للمكتبة الخاصة بالمشروع
حاولت باكثر من مكتبة ولكن دون جدوى

وبعض المكتبات فيها اخطاء او تعارض مع احدى المكتبات الموجودة مسبقآ

الظاهر ان الخاصية هذي ماهي رآح نضيفهآ

لكن عسى الله ييسر لنا طريقة اخرى

<<<<<<حبيت اشاركم باخر التطورآت

روح سامية
05-07-2011, 17:19
اممم

:مذنب:


بعد بحث طويل توصلت انه لآزم من وجود مكتبة لغرض تغير خصائص الملف الصوتي

ID3

وهناك عدة انواع على حسب المبرمج اللي مبرمجها
وعشان استخدمها
لازم اسويلها امبورت import للمكتبة الخاصة بالمشروع
حاولت باكثر من مكتبة ولكن دون جدوى

وبعض المكتبات فيها اخطاء او تعارض مع احدى المكتبات الموجودة مسبقآ

الظاهر ان الخاصية هذي ماهي رآح نضيفهآ

لكن عسى الله ييسر لنا طريقة اخرى

<<<<<<حبيت اشاركم باخر التطورآت



مرحبا
وصل إي كليبس لكننا نقوم بأخطاء بسيطة و كثيرة به

إن شاء الله نحاول أن نلعب مع المكتبة و نوافيكم بالنتائج

تحياتي
روح سامية

мємσяιзs
05-07-2011, 17:27
مرحبا
وصل إي كليبس لكننا نقوم بأخطاء بسيطة و كثيرة به

إن شاء الله نحاول أن نلعب مع المكتبة و نوافيكم بالنتائج

تحياتي
روح سامية


يلا بالبركة عليك خخخخ ^^"

ما رآح تواجه مشاكل كثير معاه وراح يعجبك الااكليبس في البرمجة

يلا جرب واعطينا تقريرك
خخخ

::جيد::

мємσяιзs
05-07-2011, 17:32
جاتني فكرة

حاولت اجرب اعمل ملف باتش MS-Dos لكن للاسف مالقيت او ماعرفت كيف استخدمه لتعديل الخصائص

بس قلت ما دام المثال بالسي شارب #C موجود عندنا

ليه ما نعمله بالسي شارب
اممم
بس رآح نحاول نسوي متغيرات بحيث ان الجافا والسي شارب يقدرون يتعاملون مع المتغيرات مثلآ

Java.settxt(alboom)

c#.gettext(alboom)

طبعا مثال كما لو كان جافا خخخخ

مستر دايموند
انت لك خلفية
شوف لو تقدرن تفيدنا

بحيث ننشيء كود بالسي شارب يقدر يتعامل معاه السي شآرب

حاليا جالس افكر بخطة كيف رآح يتعامل معآه

:)

روح سامية
05-07-2011, 18:33
يلا بالبركة عليك خخخخ ^^"

ما رآح تواجه مشاكل كثير معاه وراح يعجبك الااكليبس في البرمجة

يلا جرب واعطينا تقريرك
خخخ

::جيد::

يالحبيب
كانت قفزتي في البرمجة باستخدام إي كليبس لذلك بالطبع أقدر هذا البرنامج
المشاكل التي أواجهها هي أخطاء بسيطة
لم أبرمج الجافا منذ ٤ سنوات أو ما شابه :لقافة:

المهم إلى التقرير
استخدمت مكتبة jaudiotagger
تم قراءة بيانات الألبوم و العنوان بنجاح من ملف flac و ogg
فشل في قراءة البيانات من ملف mp3
ما يهمنا من البرنامج :


import org.jaudiotagger.audio.*;
import org.jaudiotagger.audio.exceptions.CannotReadExcept ion;
import org.jaudiotagger.audio.exceptions.InvalidAudioFram eException;
import org.jaudiotagger.audio.exceptions.ReadOnlyFileExce ption;
import org.jaudiotagger.tag.*;
.
.
.
try {
AudioFile f = AudioFileIO.read(new File("megaman-x-5_opening.ogg"));
Tag tag = f.getTag();
System.out.println("tilte : " + tag.getFirst("TITLE")
+ "\nalbum : " + tag.getFirst("ALBUM"));
}

تلاحظ أن هناك استثناءات ربما علينا أن نتعامل معها لاحقا

نوافيكم إن حصل جديد

تحياتي
روح سامية

Diamond mas
06-07-2011, 10:30
السلام عليكم،

آسف على التأخير،

يبدو أنه راح علي الكثير :o

لا عليكم... بسوم خرج بتجربة ناجحة،
وأنا كذلك استطعت قراءة وتعديل خصائص ملف mp3 من خلال الكتبة التالية لا أدري إن كانت هي نفسها المكتبة التي تتعاملون معها،
بصراحة حاولت استخدام الرابط الذي أحضره بسوم لكن بدون جدوة

أترككم مع البرنامج



package mfsp;

import java.io.*;
import org.farng.mp3.*;
/**
*
* @author Diamond mas
*/
public class Main {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO Read edit MP3 file tags.

// Input stream to read from user
InputStreamReader streamReader = new InputStreamReader(System.in);
BufferedReader reader = new BufferedReader(streamReader);

String str;
System.out.print("Enter file name: ");
try
{
str = reader.readLine();

// Load the MP3 file
MP3File file = new MP3File(str);

// Check what type of tags for this mp3 file
if (file.hasID3v2Tag())
{
// get Album Title
System.out.println("id3v2 - Album title: " + file.getID3v2Tag().getAlbumTitle());

// set the new Album Title
file.getID3v2Tag().setAlbumTitle("Faith");
}
else if (file.hasID3v1Tag())
{
// get Album Title
System.out.println("id3v1 - Album title: " + file.getID3v1Tag().getAlbumTitle());

// set the new Album Title
file.getID3v1Tag().setAlbumTitle("Faith");
}
else if (file.hasLyrics3Tag())
{
// get Album Title
System.out.println("lyrics3 - Album title: " +file.getLyrics3Tag().getAlbumTitle());

// set the new Album Title
file.getLyrics3Tag().setAlbumTitle("Faith");
}

// Save the changes to the file
file.save();
}
catch(IOException ex){
System.out.print(ex.getMessage());
}
catch(TagException ex){
System.out.print(ex.getMessage());
}
catch(IOError ex){
System.out.print(ex.getMessage());
}
}

}


بالنسبة لل سي شارب اتركها الآن (وإلا سيترك بسوم المشروع)،

بانتظاركم

мємσяιзs
06-07-2011, 10:58
يالحبيب
كانت قفزتي في البرمجة باستخدام إي كليبس لذلك بالطبع أقدر هذا البرنامج
المشاكل التي أواجهها هي أخطاء بسيطة
لم أبرمج الجافا منذ 4 سنوات أو ما شابه :لقافة:

المهم إلى التقرير
استخدمت مكتبة jaudiotagger
تم قراءة بيانات الألبوم و العنوان بنجاح من ملف flac و ogg
فشل في قراءة البيانات من ملف mp3
ما يهمنا من البرنامج :


import org.jaudiotagger.audio.*;
import org.jaudiotagger.audio.exceptions.cannotreadexcept ion;
import org.jaudiotagger.audio.exceptions.invalidaudiofram eexception;
import org.jaudiotagger.audio.exceptions.readonlyfileexce ption;
import org.jaudiotagger.tag.*;
.
.
.
Try {
audiofile f = audiofileio.read(new file("megaman-x-5_opening.ogg"));
tag tag = f.gettag();
system.out.println("tilte : " + tag.getfirst("title")
+ "\nalbum : " + tag.getfirst("album"));
}

تلاحظ أن هناك استثناءات ربما علينا أن نتعامل معها لاحقا

نوافيكم إن حصل جديد

تحياتي
روح سامية






تقرير جميل
بس مشكلة لو كان غير الـ mp3

نبغى الصيغة هذي لانها مدعومة في كل مكان ::سخرية::

الايكليبس سهل ولمن تمشي على اساس رآح تقدر تكمل ^^"

انا امس حاولت واخذ مني معظم الوقت

امم

انا الان اجمع واجرب الاساس واذا اكتمل كل شيء رآح ابدأ بالترتيب والتنسيق وكل شيء
بس صرآحة اتعجبت عندما جربت الجافا في تعديل خصائص الملفات وفشلت , سواء صوتية او لآ

:ميت:

мємσяιзs
06-07-2011, 11:09
السلام عليكم،

آسف على التأخير،

يبدو أنه راح علي الكثير :o

لا عليكم... بسوم خرج بتجربة ناجحة،
وأنا كذلك استطعت قراءة وتعديل خصائص ملف mp3 من خلال الكتبة التالية لا أدري إن كانت هي نفسها المكتبة التي تتعاملون معها،
بصراحة حاولت استخدام الرابط الذي أحضره بسوم لكن بدون جدوة

أترككم مع البرنامج



package mfsp;

import java.io.*;
import org.farng.mp3.*;
/**
*
* @author Diamond mas
*/
public class Main {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO Read edit MP3 file tags.

// Input stream to read from user
InputStreamReader streamReader = new InputStreamReader(System.in);
BufferedReader reader = new BufferedReader(streamReader);

String str;
System.out.print("Enter file name: ");
try
{
str = reader.readLine();

// Load the MP3 file
MP3File file = new MP3File(str);

// Check what type of tags for this mp3 file
if (file.hasID3v2Tag())
{
// get Album Title
System.out.println("id3v2 - Album title: " + file.getID3v2Tag().getAlbumTitle());

// set the new Album Title
file.getID3v2Tag().setAlbumTitle("Faith");
}
else if (file.hasID3v1Tag())
{
// get Album Title
System.out.println("id3v1 - Album title: " + file.getID3v1Tag().getAlbumTitle());

// set the new Album Title
file.getID3v1Tag().setAlbumTitle("Faith");
}
else if (file.hasLyrics3Tag())
{
// get Album Title
System.out.println("lyrics3 - Album title: " +file.getLyrics3Tag().getAlbumTitle());

// set the new Album Title
file.getLyrics3Tag().setAlbumTitle("Faith");
}

// Save the changes to the file
file.save();
}
catch(IOException ex){
System.out.print(ex.getMessage());
}
catch(TagException ex){
System.out.print(ex.getMessage());
}
catch(IOError ex){
System.out.print(ex.getMessage());
}
}

}


بالنسبة لل سي شارب اتركها الآن (وإلا سيترك بسوم المشروع)،

بانتظاركم



هلا بعودتك

ليه يطلع من المشروع؟ كل شيء ولا زعل حبيبنآ خخخ ^^"

عادي باي مكتبة

اهم شيء تجي بناتج , بس الغريب ان الجافا ليس لها مكتبة مثلها؟!!

انا جربت المكتبة ولكن دون جدوى
اتوقع السبب الكود

انا بجرب الكود هذآ ورآح اقولكم بالتطورآت ^^"

يلا بربآت برمجية

روح سامية
06-07-2011, 11:32
مرحبا
لا أدري من أين أتى ماس بأني سأترك المشروع
لكن في كلامه الكثير من المنطق
أنا لم أجرب مرة السي شارب
مع أني أفهم فكرة البرنامج حتى لو كان بسي شارب لكني لا استطيع كتابة برنامج بهذه اللغة
على الأغلب تفهم قصدي

على أية حال
أردت استخدام المكتبة التي استخدمها ماس لكنها لم تكن في مستودع البرامج في نظامي
سأقوم بتحميلها من موقعهم
أقترح أن نحدد بشكل واضح المكتبة التي سنستخدمها و ربما المكتبة التي استخدمها ماس خيار جيد

تحياتي
روح سامية

روح سامية
06-07-2011, 11:44
مرحبا مرة أخرى و يبدو أننا جميعا هنا :p

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

ربما علينا البدء بالتفكير بأقسام البرنامج :rolleyes:
تحياتي
روح سامية

Diamond mas
06-07-2011, 11:54
هلا بعودتك

اهم شيء تجي بناتج , بس الغريب ان الجافا ليس لها مكتبة مثلها؟!!

انا جربت المكتبة ولكن دون جدوى
اتوقع السبب الكود

انا بجرب الكود هذآ ورآح اقولكم بالتطورآت ^^"

يلا بربآت برمجية
يا هلا فيك ^_^

أجل، يجب تحميل المكتبة وإضافتها إلى المشروع.



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

على أية حال
أردت استخدام المكتبة التي استخدمها ماس لكنها لم تكن في مستودع البرامج في نظامي
سأقوم بتحميلها من موقعهم
أقترح أن نحدد بشكل واضح المكتبة التي سنستخدمها و ربما المكتبة التي استخدمها ماس خيار جيد

تحياتي
روح سامية

أهلا بسوم ^_^

أنت مستخدم لينوكس و السي شارب لن تعمل على لينوكس إلا عن طريق.... (لا أريد الدخول في دوامات لهذا سأترك التفاصيل :d)

سي شارب لا تختلف كثيراً عن الجافا.. على فكرة أنا لم أتعلم الجافا من قبل :d
يا ترى من الذي كتب البرنامج فوق؟؟!! >> أمزح :p
هذه المرة الثانية التي أكتب بها برنامج جافا.

أؤيدك بسوم علينا تحديد المكتبات التي سنتعامل معها.
ممكن أن نستخدم أكثر من مكتبة، فالمكتبة التي استعملتُها مختصة بالـ MP3

تحياتي

Diamond mas
06-07-2011, 11:58
مرحبا مرة أخرى و يبدو أننا جميعا هنا :p

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

ربما علينا البدء بالتفكير بأقسام البرنامج :rolleyes:
تحياتي
روح سامية

أهلاً مرة أخرى :)

القسم الأول... قراءة وجمع بيانات الملفات الصوتية في مجلد معين
اثناء جمع البيانات سيتم أخذ نوع الملف الصوتي بعين الاعتبار وانتقاء المكتبة المناسبة للتعامل مع الملف.
أي ان البرنامج سيدعم أكثر من صيغة

تحياتي

мємσяιзs
06-07-2011, 12:07
مرحبا
لا أدري من أين أتى ماس بأني سأترك المشروع
لكن في كلامه الكثير من المنطق
أنا لم أجرب مرة السي شارب
مع أني أفهم فكرة البرنامج حتى لو كان بسي شارب لكني لا استطيع كتابة برنامج بهذه اللغة
على الأغلب تفهم قصدي

على أية حال
أردت استخدام المكتبة التي استخدمها ماس لكنها لم تكن في مستودع البرامج في نظامي
سأقوم بتحميلها من موقعهم
أقترح أن نحدد بشكل واضح المكتبة التي سنستخدمها و ربما المكتبة التي استخدمها ماس خيار جيد

تحياتي
روح سامية



مرآحب
خخخخخ

انا قلت السي شارب
لسببين
الاول اني لقيت كود اللي وضعته سابقا فيه كل شيء نحتاجه تقريبا لتعديل الخصآئص.
الثاني ان ماس عنده خلفية فقلت يسوي برنامج مثلا ياخذ المتغيرآت من الجافا وويغير خصائص الملف الصوتي كما لوانه برنامج متصل ببرنامج

وايضا
بعد البحث عن المكتبات
وجدت ان مبرمجين المكبة الخاصة بالملفات خاصه MP3
انهم يفصلون الملف تفصيل ممل بالبايت Byte
ويطلعون الخصائص بها

يعني جدا تعقيد

:ميت:

мємσяιзs
06-07-2011, 12:19
مرحبا مرة أخرى و يبدو أننا جميعا هنا :p

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

ربما علينا البدء بالتفكير بأقسام البرنامج :rolleyes:
تحياتي
روح سامية



ما شاء الله على ماس مآ قصر والله ^_^

ممكن نضيف الويف wav ولكن معظم الصيغ الاخرى لا تحمل خصائص كثيرة



على فكرة
احنا نتنااقش باقترآح ونحاول نوصله على الاقل 90% انه ينتهي بنجاح
لذآ احنا لسى ببداية الرحلة ^^"

мємσяιзs
06-07-2011, 12:27
سي شارب لا تختلف كثيراً عن الجافا.. على فكرة أنا لم أتعلم الجافا من قبل
يا ترى من الذي كتب البرنامج فوق؟؟!! >> أمزح
هذه المرة الثانية التي أكتب بها برنامج جافا.

أؤيدك بسوم علينا تحديد المكتبات التي سنتعامل معها.
ممكن أن نستخدم أكثر من مكتبة، فالمكتبة التي استعملتُها مختصة بالـ MP3

هههههه
اهم شيء تطلع بناتج

هي صيغة واحدة ومسببة مشآكل معانا خخخخ

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



القسم الأول... قراءة وجمع بيانات الملفات الصوتية في مجلد معين
اثناء جمع البيانات سيتم أخذ نوع الملف الصوتي بعين الاعتبار وانتقاء المكتبة المناسبة للتعامل مع الملف.
أي ان البرنامج سيدعم أكثر من صيغة

تحياتي


ان شاء الله يدعمها كلها بالنسبة للصيغ وخصائصها
اما ترتيبها في البلاي-ليست مارآح يشكل فآرق



جاتني فكرة عالطريق
خخخخ

اللي هي ان البرنامج يصير مشغل صوتيات , ومعلومات الملف راح تكون في ملف مرفق مع الملف الصوتي ونقدر نضيف اي شيء في ملف الخصائص وهو كامل التعديل في كل شيء ويبقى الملف الصوتي في امان من التلاعبو التعديل وايضا ممكن اضيف صورة او اكثر حتى
اممم

دقايق وارفع لكم نمودج بسيط

Diamond mas
06-07-2011, 12:39
جاتني فكرة عالطريق
خخخخ

اللي هي ان البرنامج يصير مشغل صوتيات , ومعلومات الملف راح تكون في ملف مرفق مع الملف الصوتي ونقدر نضيف اي شيء في ملف الخصائص وهو كامل التعديل في كل شيء ويبقى الملف الصوتي في امان من التلاعبو التعديل وايضا ممكن اضيف صورة او اكثر حتى
اممم

دقايق وارفع لكم نمودج بسيط
آه من أفكارك يا أبو الأفكار :)
راح يزيد الشغل ويزيد تعقيد البرنامج،

يالله.. بعين الله.. :محبط:
بانتظارك،

мємσяιзs
06-07-2011, 12:48
بآك برمجي ^^"





بعد التجارب مع المكتبة اللي جابها اخونا وحبيبنا مآس


اليكم التقرير
1-المكتبة ليست قوية بمعنى انها ما تقدر تتعامل مع الملف بصورة 100%
2-انا جربت اعدل اكثر من خصائص ولكن للاسف اللي يتغير الالبوم ونوع الموسيقى (Album & Genre )
3-المكتبة لازم تعرف نوع tag الملف الصوتي يعني لازم تستخدم الانواع كلها وتعطي ال (لو الشرطية ) لكل منها.
4- لازم تكون كلها بنفس المعلومات في محتوى (لو الشرطية) حتى لا تنتج مشآكل
5- عند استخدام tag الخاطئ رآح يمسح الخصائص كاملة !! وعشآن ترجعها لازم تستخدم ال tag الصحيح


انا جربت على اكثر من ملف بصيغة Mp3 ونفس الحكاية للكل.

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

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






هذي الفكرة السابقة...
مثل كذآ

http://www.mexat.com/vb/attachment.php?attachmentid=1479515&stc=1&d=1309955836

мємσяιзs
06-07-2011, 12:54
آه من أفكارك يا أبو الأفكار :)
راح يزيد الشغل ويزيد تعقيد البرنامج،

يالله.. بعين الله.. :محبط:
بانتظارك،


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


شوف فين واصل الشغل
طبعآ لسى في الاساس والتجارب لذا مآفي شيء ابتدينا به



import java.io.IOException;

import org.farng.mp3.*;
/**
*
* @author Diamond mas
*/
public class Main {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {

String str="C:\\Users\\M\\workspace\\jjjjjjjjjjjjjjjjjjjj\\src \\Smile.mp3";

try
{
MP3File file = new MP3File(str);


if (file.hasID3v2Tag()){
file.getID3v2Tag().setAlbumTitle("fgdh");
file.getID3v2Tag().setAuthorComposer("blue");
file.getID3v2Tag().setSongComment("hfk");
}
//else if (file.hasID3v1Tag()){
file.getID3v1Tag().setAlbumTitle("Faith");
}
// else if (file.hasLyrics3Tag()){
file.getLyrics3Tag().setAlbumTitle("Faith");
}


file.save();

}
catch(IOException ex){
System.out.print("io");
}
catch(TagException ex){
System.out.print("tag");
}

}

}

Diamond mas
06-07-2011, 13:36
ماذا يعني كلامك الأخير؟

بالنسبة للنقاط:
لم أفهم النقطة الأولى،
قمتُ بتجربة النقطة الثانية واستطعتُ التعديل على كل الخصائص التي قمتُ بتجربتها.
بالنسبة للنقطة الثالثة والرابعة فهذا أمر طبيعي، كيف تريدها إذاً؟
بالنسبة للنقطة الخامسة حدثت معي لكن ما ان قمتُ بتشغيل الملف على أحد ملفات تشغيل الصوت عادة كل الامور إلى طبيعتها وظهرت التعديلات التي قمتُ بإجراءها.

بالنسبة لشكل البرنامج.. لا تعليق :p

بالنسبة للبرنامج الأخير الذي كتبتَه، هل اشتغل بشكل جيد؟ هل تعني أنك تراجعتَ عن النقطة الثانية؟

تحياتي

мємσяιзs
06-07-2011, 14:02
ماذا يعني كلامك الأخير؟

معناه ان المكتبة هذي ليست جيدة جدآ
وانه احتمال نترآجع عن هذي الفكرة(التعديل على خصائص الملف)
:مذنب:

بالنسبة للنقاط:
لم أفهم النقطة الأولى،

بمعنى انها لاتتعامل مع الملف الصوتي 100% اقصد
لو ترجع لتاريخ MP3
رآح تشوف انه في خصائص كثيرة غير اللي موجودة بهذي المكتبة
وايضا لا تنسى برامج تحويل الملفات الصوتية MP3
هذيك البرامج تقدر تقول كاملة لانه تعدل الملف 100% سوآء في الخصائص العامة او خصائص الملف الصوتي مثل معدل البت bit

قمتُ بتجربة النقطة الثانية واستطعتُ التعديل على كل الخصائص التي قمتُ بتجربتها.

هل استطعت في غيرهآ؟
:مندهش:

بالنسبة للنقطة الثالثة والرابعة فهذا أمر طبيعي، كيف تريدها إذاً؟

هذا للمكتبة امر طبيعي واكيد احنا كمبرمجين رآح نحاول نحل المشكلة هذي , ولكن
لنفترض ان المكتبة هي التي تحدد النوع وهي تعمل الاستثناءات وكل ما يلزم؟!!

بالنسبة للنقطة الخامسة حدثت معي لكن ما ان قمتُ بتشغيل الملف على أحد ملفات تشغيل الصوت عادة كل الامور إلى طبيعتها وظهرت التعديلات التي قمتُ بإجراءها.

انا فهمت منها انه يغير نوع البيانات الخاصة بالخصائص عشان كذا تحدث مشاكل , في المكتبة هذي ثلاث طرق لحل لجلب وتعديل هذي الخصائص. المكتبة قادرة على تعديله حتى ولو كان تعديل البيانات خاطئة لكن عند تشغيل الملف الصوتي ماراح تلاحظ شيء في الصوت او بعض الاخطاء انما لا يمكنك تعديل الخصائص بالطريقة المعتادة.

بالنسبة لشكل البرنامج.. لا تعليق :p

ههههههه
رسمه عالسريع
:d

بالنسبة للبرنامج الأخير الذي كتبتَه، هل اشتغل بشكل جيد؟ هل تعني أنك تراجعتَ عن النقطة الثانية؟

ايوا جربته وكان الالبوم والنوع اللي تغير, انت جرب عندك حاول تغير اكثر من خاصية.

لا , ما تراجعت بس كان اخر شيء اكتبه, ايضا اوريكم فين انا وقفت
تحياتي



البرنامج صار تعديل خصائص مش ترتيب
خخخخ

بس احنا نحب التحدي
:مكر:

Diamond mas
06-07-2011, 14:19
أيوا أخوي ميموريز أنا جربت المكتبة لتغير الكثير من الخصائص وقامت بذلك بدون مشاكل،
بصراحة لا أعرف جميع خصائص الـ mp3 ولا أعرف تاريخها :مذنب:

ما عندي مشكلة، إذا بتحب بنغير المكتبة.. عندك اقتراح لمكتبة أخرى؟

ما عندي شيء ثاني لأضيفه،
بانتظارك

мємσяιзs
06-07-2011, 15:58
أيوا أخوي ميموريز أنا جربت المكتبة لتغير الكثير من الخصائص وقامت بذلك بدون مشاكل،
بصراحة لا أعرف جميع خصائص الـ mp3 ولا أعرف تاريخها :مذنب:

ما عندي مشكلة، إذا بتحب بنغير المكتبة.. عندك اقتراح لمكتبة أخرى؟

ما عندي شيء ثاني لأضيفه،
بانتظارك

طيب ممكن تقولي ايش اللي تغير معآك , ممكن تكون كافية لنآ؟!!

وبالنسبة للخصائص والتآريخ
اسال جدك ويكيبيديآ , مو عمك القوقل :d
انا مو مشكلة لو نستخدم اكثر من مكتبة للعمل , بيكون نوعا ما من التحدي والتجارب الخطيرة خخخ
:مكر:

انا رآح افكر بخطة واحاول احدد شيء معين عشآن نتعمق في
كما باب الاقترآحات موجود
خخخ

في حفظ الرحمن

:)

Diamond mas
07-07-2011, 08:06
طيب ممكن تقولي ايش اللي تغير معآك , ممكن تكون كافية لنآ؟!!

وبالنسبة للخصائص والتآريخ
اسال جدك ويكيبيديآ , مو عمك القوقل :d
انا مو مشكلة لو نستخدم اكثر من مكتبة للعمل , بيكون نوعا ما من التحدي والتجارب الخطيرة خخخ
:مكر:

انا رآح افكر بخطة واحاول احدد شيء معين عشآن نتعمق في
كما باب الاقترآحات موجود
خخخ

في حفظ الرحمن

:)

بالنسبة للخصائص التي تغيرت:


file.getID3v2Tag().setAlbumTitle("Faith");
file.getID3v2Tag().setSongComment("this is a comment");
file.getID3v2Tag().setSongTitle("new song title");
file.getID3v2Tag().setLeadArtist("me");

يا حبيبي... بدك إياني أقرأ كل هذا.. جدي عنده معلومات كثير وأنا للأسف.. ما معي وقت :ميت:
على كلٍ إذا صار معي نصيب رح أقرؤه.

لا اقتراح.. بانتظار الخطة :p

تحياتي

روح سامية
07-07-2011, 10:47
مرحبا
تعذروني يا شباب لعدة أيام :موسوس:
سأنشغل عنكم و أعود لاحقا

تحياتي
روح سامية

мємσяιзs
09-07-2011, 11:20
سوري عالاطالة

ولكن من الاربعاء الى الجمعة وقت اغلب وقتي مع الشلة
لذآ متآ سفين

وانا

Big Back
:d

мємσяιзs
09-07-2011, 11:32
بالنسبة للخصائص التي تغيرت:


file.getID3v2Tag().setAlbumTitle("Faith");
file.getID3v2Tag().setSongComment("this is a comment");
file.getID3v2Tag().setSongTitle("new song title");
file.getID3v2Tag().setLeadArtist("me");

يا حبيبي... بدك إياني أقرأ كل هذا.. جدي عنده معلومات كثير وأنا للأسف.. ما معي وقت :ميت:
على كلٍ إذا صار معي نصيب رح أقرؤه.

لا اقتراح.. بانتظار الخطة :p

تحياتي


كويس

ممكن نغير خصآئص هذي بس

وعادي في اي وقت اقرآه ^^"


ابغى اوريك بملف ال m3u
هذا هو السورس

#EXTM3U
01 - track 1.mp3
02 - track 2.mp3
04 - track 4.mp3

لو تلاحظ انه اسهل شيء راح نقوم به
وهذا هو المشروع اصلا وكيف نسوي مثله

امممم
ايش رايك لو نسوي البرنامج بغرضه الاساسي والاضافات احنا نضيفها فيه بعد كذآ
عشان ما نتعقد بعدين ونضيع ^^"

мємσяιзs
09-07-2011, 11:37
مرحبا
تعذروني يا شباب لعدة أيام :موسوس:
سأنشغل عنكم و أعود لاحقا

تحياتي
روح سامية



عآدي يآ خيو
باي وقت حيآك واحنا بنتظآركـ

Diamond mas
09-07-2011, 13:32
سوري عالاطالة

ولكن من الاربعاء الى الجمعة وقت اغلب وقتي مع الشلة
لذآ متآ سفين

وانا

Big Back
:d

أهلين والله، خذ راحتك يا أخوي.. ترى الموضوع موضوعك :d
أقصد بأي وقت يعني :)



كويس

ممكن نغير خصآئص هذي بس

وعادي في اي وقت اقرآه ^^"


ابغى اوريك بملف ال m3u
هذا هو السورس

#EXTM3U
01 - track 1.mp3
02 - track 2.mp3
04 - track 4.mp3

لو تلاحظ انه اسهل شيء راح نقوم به
وهذا هو المشروع اصلا وكيف نسوي مثله

امممم
ايش رايك لو نسوي البرنامج بغرضه الاساسي والاضافات احنا نضيفها فيه بعد كذآ
عشان ما نتعقد بعدين ونضيع ^^"


أنا أؤيد هذه النقطة بشدة،
بعد أن نكمل الهدف الأساسي للمشروع رح نلتفت للأمور الفرعية بعدها سنطور المشروع إن شاء الله،

يالله

أعطينا كود :p

ترى وراك* نقاد رح يغرقوك بالملاحظات

تحياتي

мємσяιзs
11-07-2011, 16:23
أهلين والله، خذ راحتك يا أخوي.. ترى الموضوع موضوعك :d
أقصد بأي وقت يعني :)


أنا أؤيد هذه النقطة بشدة،
بعد أن نكمل الهدف الأساسي للمشروع رح نلتفت للأمور الفرعية بعدها سنطور المشروع إن شاء الله،

يالله

أعطينا كود :p

ترى وراك* نقاد رح يغرقوك بالملاحظات

تحياتي


سوري عالتاخير

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


import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;


public class MSFP extends JPanel implements ActionListener{

JButton b1,b2,b3;

public MSFP(){
this.setOpaque(false);
this.setLayout(null);

b1 = new JButton("Open");
b1.setBounds(320, 230, 100, 170);
add(b1);


}

public void paint(Graphics g){
Image img = Toolkit.getDefaultToolkit().getImage(getClass().ge tResource("img/background.png"));
g.drawImage(img, 0, 0, getSize().width, getSize().height,this);

Image img1 = Toolkit.getDefaultToolkit().getImage(getClass().ge tResource("img/background.png"));
g.drawImage(img1, 50, 50, 300, 100,this);

super.paint(g);
}

public static void main(String[] args){
JFrame jf = new JFrame();

MSFP msfp = new MSFP();

jf.add(msfp);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(580,450);
jf.setLocation(300, 100);
jf.setResizable(false);
jf.setVisible(true);

}

public void actionPerformed(ActionEvent arg0) {


}
}

اتوقع ان كل شيء وآضح لكم يآ مبرمجين

واللي مو فاهم في نقطة عادي انا اشرحها له
انا ابغى اشرح كل نقطة من الكود هذآ لكن افضل اني اخلص المشروع كامل واشرح كل النقآط

بالنسبة للوآجهة
انا فكرت وقلت ابغى اسوي 4 ازرآر
Open , edit , delete , exit
ونافذة عشان توريكم الملفات المضآفة

اوكي؟
ولا ما رآيكم؟!

Diamond mas
12-07-2011, 09:47
أظن ان الكود الذي أرفقته هو عبارة عن واجهة البرنامج فقط.
ما وظائف كل من Open, edit, delete, exit ولماذا لا يوجد New؟

بصراحة لا أعرف إن كنتُ قد نسيت أم ماذا، لكنني أذكر أن البرنامج سيقوم بإنشاء Playlist من خلال قراءة ملفات صوتية.

على ما أذكر، سيكون البرنامج هو عبارة عن واجهة فيها زر إضافة Add لملفات صوتية أو مجلدات تحوي ملفات صوتية،
بعد ذلك سيقوم البرنامج بعرض الملفات وخصائصها على واجهته (ListBox أو ماشابهه في جافا) ليمكن المستخدم من الإضافة والتعديل إن شاء.
سيتيح البرنامج تصدير الـ Playlist إلى ملف خارجي ليتمكن المستخدم من استخدامها في المشغلات الصوتيه لديه

هل ما فهمته صحيح؟
تحياتي

мємσяιзs
12-07-2011, 10:30
أظن ان الكود الذي أرفقته هو عبارة عن واجهة البرنامج فقط.

نعم نعم وآجهة فقط

ما وظائف كل من Open, edit, delete, exit ولماذا لا يوجد New؟

في الحقيقة ذكرتني لااضافة الزر انشآء
open = اضافة ملفات جديدة للقائمة
edit = تعديل او بالاخص للترتيب الملفات
delete = لحذف الملف الصوتي من القآئمة
exit = للخروج من البرنامج
اما بالنسبة ل new
ما فكرت اني رآح انشيء قائمة جديدة لكن جاتني فكرة ورآح اسويها


بصراحة لا أعرف إن كنتُ قد نسيت أم ماذا، لكنني أذكر أن البرنامج سيقوم بإنشاء Playlist من خلال قراءة ملفات صوتية.

رآح ينشيء القائمة من خلال اخذ الاسم فقط من الملف الصوت وما يحتاج انه يقرأ الملف الصوتي كامل, انما العنوان فقط.

على ما أذكر، سيكون البرنامج هو عبارة عن واجهة فيها زر إضافة Add لملفات صوتية أو مجلدات تحوي ملفات صوتية،
بعد ذلك سيقوم البرنامج بعرض الملفات وخصائصها على واجهته (ListBox أو ماشابهه في جافا) ليمكن المستخدم من الإضافة والتعديل إن شاء.

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

سيتيح البرنامج تصدير الـ Playlist إلى ملف خارجي ليتمكن المستخدم من استخدامها في المشغلات الصوتيه لديه
هل ما فهمته صحيح؟

نعم صحيح صحيح

ليه ما يكون هناك استيرآد عشآن نعدل على البلاي ليست المستورد ؟!!
<<<<<فكرة
خخخخ
تحياتي


انا ماشي برآحة وبدون كلفة عشآن ما تطلع اخطآء كثير
وكمان انا الان في الواجهة بس عشآن احدد كل شيء في موقعه
بعد كذآ نخش في العميق

:)

Diamond mas
12-07-2011, 12:05
انا ماشي برآحة وبدون كلفة عشآن ما تطلع اخطآء كثير
وكمان انا الان في الواجهة بس عشآن احدد كل شيء في موقعه
بعد كذآ نخش في العميق

:)

ممتاز، الله يوفقك لما يحب ويرضى،
اقتراح.. بدلاً من Open ضع Add لأنها أوضح من ناحية معنى،
بدلاً من delete ضع remove أوضح أيضاً.
edit.. امم... هل بإمكانك توضح عملها أكثر؟ أقصد بشكل عملي؟
ثم New ما الها داعي (حسب ما فهمت) اسحبها :)

فكرة الاستيراد جميلة ::جيد::

تابع.. الله يقويك
تحياتي

мємσяιзs
13-07-2011, 12:26
ممتاز، الله يوفقك لما يحب ويرضى،
اقتراح.. بدلاً من Open ضع Add لأنها أوضح من ناحية معنى،
بدلاً من delete ضع remove أوضح أيضاً.
edit.. امم... هل بإمكانك توضح عملها أكثر؟ أقصد بشكل عملي؟
ثم New ما الها داعي (حسب ما فهمت) اسحبها :)

فكرة الاستيراد جميلة ::جيد::

تابع.. الله يقويك
تحياتي


مشيت على كلامك وغيرناهآ ^^"

Edit
عشان ترتب الملفات الصوتية مثلا اضفت ملف تبغى تخليه الثالث او الثاني على حسب رغبتك
عندي احساس انك بتقولي ليه ما تخليه Sort
خخخ

انا قد بدأت
والحمد لله كل شيء ماشي الى الان تمام
بس لسى كل شيء قابل للتغير

هذآ اخر ما توصلنا له

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.ListSelectionModel;


public class MSFP extends JPanel implements ActionListener{

JButton b1,b2,b3,b4;
JList dd;
DefaultListModel listo;
JList list;
JFileChooser chooser;


public MSFP(){
this.setOpaque(false);
this.setLayout(null);

b1 = new JButton("Add");
b1.setBounds(70, 130, 100, 30);
b1.addActionListener(this);
add(b1);

b2 = new JButton("Remove");
b2.setBounds(70, 170, 100, 30);
b2.addActionListener(this);
add(b2);

b3 = new JButton("Edit");
b3.setBounds(70, 210, 100, 30);
add(b3);

b4 = new JButton("Exit");
b4.setBounds(70, 250, 100, 30);
add(b4);



listo = new DefaultListModel();
listo.addElement("First");


list = new JList( listo );
list.setBounds(270, 150, 100, 130);
add(list);
list.setSelectionMode(ListSelectionModel.SINGLE_SE LECTION);



}



public void actionPerformed(ActionEvent ae) {
String g,h;
if(ae.getSource() == b1){
chooser = new JFileChooser();
chooser.showOpenDialog(null);
File f = chooser.getSelectedFile();

listo.addElement(f.getName());

String ff = (String) listo.elementAt(1);
System.out.print(ff);
}

if(ae.getSource() == b2){
g =(String) listo.getElementAt(1);
h = (String) listo.getElementAt(0);
listo.setElementAt(g, 0);
listo.setElementAt(h, 1);
//listo.removeElement(list.getSelectedValue());
}
}

public static void main(String[] args){
JFrame jf = new JFrame(" -MEXAT- ");

MSFP msfp = new MSFP();

jf.add(msfp);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(580,450);
jf.setLocation(300, 100);
jf.setResizable(false);
jf.setVisible(true);

}


}

:d

Diamond mas
13-07-2011, 13:07
رائع ::جيد::

أقترح إضافة زرين Up و Down واستبدال زر Edit بهما،
فائدة هاذين الزرين هو انه عند الضغط على احد الملفات الصوتية في اللائحة JList يتم تفعيل الزرين لتحريك الملف للإعلى أو للأسف.

تابع صديقي.. بانتظار المزيد ::جيد::
تحياتي

мємσяιзs
13-07-2011, 13:55
رائع ::جيد::

أقترح إضافة زرين Up و Down واستبدال زر Edit بهما،
فائدة هاذين الزرين هو انه عند الضغط على احد الملفات الصوتية في اللائحة JList يتم تفعيل الزرين لتحريك الملف للإعلى أو للأسف.

تابع صديقي.. بانتظار المزيد ::جيد::
تحياتي


اوكي
جميل جدآ جدآ
مع انه فيه كم حركة او فكرة عشان نسويهآ

انت لاحظ هنآ


g =(String) listo.getElementAt(1);
h = (String) listo.getElementAt(0);
listo.setElementAt(g, 0);
listo.setElementAt(h, 1);

نوعا ما لازم اكتشف او افكر بطريقة بحيث اني اقدر احرك اي عنصر بدون قيود
:ميت:

اهم شيء انت مبسوط؟!!
::جيد::

Diamond mas
13-07-2011, 14:59
بالنسبة للكود الذي كتبتَه.. هل تريد طريقة أفضل من هذه الطريقة؟
أظن أنها الانسب في الوقت الحالي

بالتأكيد أنا مبسوط ^_^
برامجك وتفاعلك تبسطني

мємσяιзs
13-07-2011, 15:18
بالنسبة للكود الذي كتبتَه.. هل تريد طريقة أفضل من هذه الطريقة؟
أظن أنها الانسب في الوقت الحالي


بالتأكيد أنا مبسوط ^_^
برامجك وتفاعلك تبسطني



والله تقدر تقول الانسب
لان لسى ما رآح اتعمق في ال UP & Down الان
نحاول نخلص الواجهة
ونشوف كل شيء ونقسم البرنامج ونشتغل فيه جزء جزء

التجربة السابقة او الكود السابق كان فقط لاتاكد من عمل ال JLIST لاني ما استخدمته ابد
وتعتبر تجربة جديدة لذآ جربنآ ورفعنآ :d

رآح نوافيكم بكل جديد ان شآء الله

ودامت انبسآطتك
لان انبسآطتي من انبسآطتك من امبسآط الموضوع


<<<<<لآتتهور فضحتنآ


:d

мємσяιзs
16-07-2011, 14:37
بآكـ

مع آخر التطورآت


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.ListSelectionModel;


public class MSFP extends JPanel implements ActionListener{

JButton b1,b2,b3,b4,b5,b6;
JList dd;
DefaultListModel listo;
JList list;
JFileChooser chooser;


public MSFP(){
this.setOpaque(false);
this.setLayout(null);

b1 = new JButton("Add");
b1.setBounds(70, 130, 100, 30);
b1.addActionListener(this);
add(b1);

b2 = new JButton("Remove");
b2.setBounds(70, 170, 100, 30);
b2.addActionListener(this);
add(b2);

b3 = new JButton("Create");
b3.setBounds(70, 210, 100, 30);
add(b3);

b4 = new JButton("exit");
b4.setBounds(70, 250, 100, 30);
add(b4);

b5 = new JButton("UP");
b5.setBounds(170, 210, 100, 30);
b5.addActionListener(this);
add(b5);

b6 = new JButton("Down");
b6.setBounds(170, 250, 100, 30);
add(b6);

listo = new DefaultListModel();
listo.addElement("khkj");
listo.addElement("hhhhhhhhhhh");
listo.addElement("kjjjjjjjj");


list = new JList( listo );
list.setBounds(270, 150, 100, 130);
add(list);
list.setSelectionMode(ListSelectionModel.SINGLE_SE LECTION);



}



public void actionPerformed(ActionEvent ae) {
String g,h;
if(ae.getSource() == b1){
chooser = new JFileChooser();
chooser.showOpenDialog(null);
File f = chooser.getSelectedFile();

listo.addElement(f.getName());

String ff = (String) listo.elementAt(1);
System.out.print(ff);
}

if(ae.getSource() == b2){
g =(String) listo.getElementAt(1);
h = (String) listo.getElementAt(0);
listo.setElementAt(g, 0);
listo.setElementAt(h, 1);
//listo.removeElement(list.getSelectedValue());
}

if(ae.getSource() == b5){
System.out.println(list.getSelectedIndex());
}
}

public static void main(String[] args){
JFrame jf = new JFrame(" -MEXAT- ");

MSFP msfp = new MSFP();

jf.add(msfp);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(580,450);
jf.setLocation(300, 100);
jf.setResizable(false);
jf.setVisible(true);

}


}

كالعادة الكود قابل للتغير
:لقافة:

Diamond mas
16-07-2011, 16:25
ألاحظ أن الزر الأول b1 مخصص لإضافة ملف صوتي إلى اللائحة>
الزر الثاني وظيفته التبديل بين عنصرين في اللائحة،

أظن أنك ستقوم بتعديل وظيفة الزر الخامس b5 ليقوم بالتبديل بين العنصر الحالي للائحة list والعنصر الذي يسبقه

عمل جميل ::جيد::

الآن عليك بإكمال البرنامج بإضافة وظيفة الزر down وتعديل بقية وظائف الأزرار.

تحياتي

мємσяιзs
16-07-2011, 19:07
ألاحظ أن الزر الأول b1 مخصص لإضافة ملف صوتي إلى اللائحة>
الزر الثاني وظيفته التبديل بين عنصرين في اللائحة،

أظن أنك ستقوم بتعديل وظيفة الزر الخامس b5 ليقوم بالتبديل بين العنصر الحالي للائحة list والعنصر الذي يسبقه

عمل جميل ::جيد::

الآن عليك بإكمال البرنامج بإضافة وظيفة الزر down وتعديل بقية وظائف الأزرار.

تحياتي


تقدر ان الكوود تجآرب
حتى نتوصل لشيء ونثبت عليه
:d

мємσяιзs
18-07-2011, 23:44
Back

اكثر من محاولة لانجاح وظيفة معينة في الزر B5
ولكن هذى ماتوصلنا له
وسوف نكمل في الحلقة الجاية ^^"

هذآ الكود

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.ListSelectionModel;


public class MSFP extends JPanel implements ActionListener{

JButton b1,b2,b3,b4,b5,b6;
JList dd;
DefaultListModel listo;
JList list;
JFileChooser chooser;
int b,n,m;


public MSFP(){
this.setOpaque(false);
this.setLayout(null);

b1 = new JButton("Add");
b1.setBounds(70, 130, 100, 30);
b1.addActionListener(this);
add(b1);

b2 = new JButton("Remove");
b2.setBounds(70, 170, 100, 30);
b2.addActionListener(this);
add(b2);

b3 = new JButton("Create");
b3.setBounds(70, 210, 100, 30);
add(b3);

b4 = new JButton("exit");
b4.setBounds(70, 250, 100, 30);
add(b4);

b5 = new JButton("UP");
b5.setBounds(170, 210, 100, 30);
b5.addActionListener(this);
add(b5);

b6 = new JButton("Down");
b6.setBounds(170, 250, 100, 30);
add(b6);

listo = new DefaultListModel();
listo.addElement("1");
listo.addElement("2");
listo.addElement("3");
listo.addElement("4");
listo.addElement("5");
listo.addElement("6");

list = new JList( listo );
list.setBounds(280, 150, 150, 130);
add(list);
list.setSelectionMode(ListSelectionModel.SINGLE_SE LECTION);



}



public void actionPerformed(ActionEvent ae) {
String g,h,m;
if(ae.getSource() == b1){
chooser = new JFileChooser();
chooser.showOpenDialog(null);
File f = chooser.getSelectedFile();

listo.addElement(f.getName());

String ff = (String) listo.elementAt(1);
System.out.print(ff);
}

if(ae.getSource() == b2){

//h = (String) listo.getElementAt(0);
//listo.setElementAt(g, 0);
//listo.setElementAt(h, 1);
//listo.removeElement(list.getSelectedValue());
}

if(ae.getSource() == b5){
//System.out.println(list.getSelectedIndex());

//2
g = (String) listo.getElementAt(list.getSelectedIndex()-1);
//3
h = (String) listo.getElementAt(list.getSelectedIndex());
//4
m = (String) listo.getElementAt(list.getSelectedIndex()+1);

System.out.println(h);
System.out.println(g);
System.out.println(m);

//listo.setElementAt(g , list.getSelectedIndex());
//listo.setElementAt(m , list.getSelectedIndex()-1);
listo.setElementAt(h , list.getSelectedIndex()+1);

list.setSelectedIndex((Integer) list.getSelectedIndex()+1);
g ="";h =""; m="";
}
}

public static void main(String[] args){
JFrame jf = new JFrame(" -MEXAT- ");

MSFP msfp = new MSFP();

jf.add(msfp);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(580,450);
jf.setLocation(300, 100);
jf.setResizable(false);
jf.setVisible(true);

}


}

كالعادة
الكود للتجارب وقابل للتغير في اي وقت

-----

Diamond mas
19-07-2011, 07:49
حسناً.. سأحاول المساعدة:



//System.out.println(list.getSelectedIndex());

//2
g = (String) listo.getElementAt(list.getSelectedIndex()-1); // line 1
//3
h = (String) listo.getElementAt(list.getSelectedIndex()); // line 2
//4
m = (String) listo.getElementAt(list.getSelectedIndex()+1); // line 3

System.out.println(h); // line 4
System.out.println(g); // line 5
System.out.println(m); // line 6

//listo.setElementAt(g , list.getSelectedIndex());
//listo.setElementAt(m , list.getSelectedIndex()-1);
listo.setElementAt(h , list.getSelectedIndex()+1); // line 7

list.setSelectedIndex((Integer) list.getSelectedIndex()+1); // line 8
g ="";h =""; m=""; // line 9


السطر الأول (Line 1) قد يصدر استثناء (Exception)، افرض ان المستخدم اختار العنصر الأول في اللائحة ثم ضغط على الزر UP أو (b5)
عندها سيصير تنفيذ السطر إلى:
g = (String) listo.getElementAt(-1);
//p
ولا وجود للعنصر -1 مما يعني حدوث استثناء
الحل: قم باختبار رقم العنصر الذي اختاره المستخدم فإذا كان أول عنصر الغِ العملية، حيث لا يمكن نقل أول عنصر للأعلى

السطر التالي سيمنع حدوث المشكلة(ضعه قبل السطر الأول -line 1- ـ) :

if (listo.getSelectedIndex() == 0)
return;
// p

أظن ان الأسطر 3~6 فقط للإختبار وسيتم إزالتها.

السطر السابع خطأ ويجب أن يكون:

listo.setElementAt(h , list.getSelectedIndex()-1);
// p
ويجب إضافة سطر جديد تحت السطر السابع وقبل السطر الثامن وهو:

listo.setElementAt(g , list.getSelectedIndex());
// p


السطر الثامن فيه خطأ أيضاً ويجب أن يكون:

list.setSelectedIndex((Integer) list.getSelectedIndex()-1);
// p

على هذا جرب استخدام الكود التالي:



//System.out.println(list.getSelectedIndex());

//2
if (listo.getSelectedIndex() == 0)
return;

g = (String) listo.getElementAt(list.getSelectedIndex()-1); // line 1
//3
h = (String) listo.getElementAt(list.getSelectedIndex()); // line 2
//4
//m = (String) listo.getElementAt(list.getSelectedIndex()+1); // line 3

//System.out.println(h); // line 4
//System.out.println(g); // line 5
//System.out.println(m); // line 6

//listo.setElementAt(g , list.getSelectedIndex());
//listo.setElementAt(m , list.getSelectedIndex()-1);
listo.setElementAt(h , list.getSelectedIndex()-1); // line 7

listo.setElementAt(g , list.getSelectedIndex());

list.setSelectedIndex((Integer) list.getSelectedIndex()-1); // line 8
g ="";h =""; m=""; // line 9

روح سامية
19-07-2011, 12:20
مرحبا
يبدو أنكم قطعتم شوطا في غيابي :موسوس:
على أية حال سؤال في السطر التالي :


// line 8
g ="";h =""; m=""; // line 9

لماذا قمتم بمسح النصوص
ظننت أن المتغيّر كله يمسح بعد انتهاء الدالة فلم يكن هناك داع لمسح المتغيرات

تحياتي
روح سامية

Diamond mas
19-07-2011, 14:34
مرحبا
يبدو أنكم قطعتم شوطا في غيابي :موسوس:
على أية حال سؤال في السطر التالي :


// line 8
g ="";h =""; m=""; // line 9

لماذا قمتم بمسح النصوص
ظننت أن المتغيّر كله يمسح بعد انتهاء الدالة فلم يكن هناك داع لمسح المتغيرات

تحياتي
روح سامية


أهلاً بسوم

يعني ما زلنا في بداية الطريق :)

بالفعل كلامك صحيح لا داعي لمسح المتغيرات لأن جامع النفايات (Garbage Collector) سيقوم بهذه المهمة.

تحياتي

мємσяιзs
19-07-2011, 18:15
حسناً.. سأحاول المساعدة:



//System.out.println(list.getSelectedIndex());

//2
g = (String) listo.getElementAt(list.getSelectedIndex()-1); // line 1
//3
h = (String) listo.getElementAt(list.getSelectedIndex()); // line 2
//4
m = (String) listo.getElementAt(list.getSelectedIndex()+1); // line 3

System.out.println(h); // line 4
System.out.println(g); // line 5
System.out.println(m); // line 6

//listo.setElementAt(g , list.getSelectedIndex());
//listo.setElementAt(m , list.getSelectedIndex()-1);
listo.setElementAt(h , list.getSelectedIndex()+1); // line 7

list.setSelectedIndex((Integer) list.getSelectedIndex()+1); // line 8
g ="";h =""; m=""; // line 9


السطر الأول (Line 1) قد يصدر استثناء (Exception)، افرض ان المستخدم اختار العنصر الأول في اللائحة ثم ضغط على الزر UP أو (b5)
عندها سيصير تنفيذ السطر إلى:
g = (String) listo.getElementAt(-1);
//p
ولا وجود للعنصر -1 مما يعني حدوث استثناء
الحل: قم باختبار رقم العنصر الذي اختاره المستخدم فإذا كان أول عنصر الغِ العملية، حيث لا يمكن نقل أول عنصر للأعلى

السطر التالي سيمنع حدوث المشكلة(ضعه قبل السطر الأول -line 1- ـ) :

if (listo.getSelectedIndex() == 0)
return;
// p

أظن ان الأسطر 3~6 فقط للإختبار وسيتم إزالتها.

السطر السابع خطأ ويجب أن يكون:

listo.setElementAt(h , list.getSelectedIndex()-1);
// p
ويجب إضافة سطر جديد تحت السطر السابع وقبل السطر الثامن وهو:

listo.setElementAt(g , list.getSelectedIndex());
// p


السطر الثامن فيه خطأ أيضاً ويجب أن يكون:

list.setSelectedIndex((Integer) list.getSelectedIndex()-1);
// p

على هذا جرب استخدام الكود التالي:



//System.out.println(list.getSelectedIndex());

//2
if (listo.getSelectedIndex() == 0)
return;

g = (String) listo.getElementAt(list.getSelectedIndex()-1); // line 1
//3
h = (String) listo.getElementAt(list.getSelectedIndex()); // line 2
//4
//m = (String) listo.getElementAt(list.getSelectedIndex()+1); // line 3

//System.out.println(h); // line 4
//System.out.println(g); // line 5
//System.out.println(m); // line 6

//listo.setElementAt(g , list.getSelectedIndex());
//listo.setElementAt(m , list.getSelectedIndex()-1);
listo.setElementAt(h , list.getSelectedIndex()-1); // line 7

listo.setElementAt(g , list.getSelectedIndex());

list.setSelectedIndex((Integer) list.getSelectedIndex()-1); // line 8
g ="";h =""; m=""; // line 9



مآ شآء الله عليكـ

اقدر مسآعدتكـ لي

انا حاولت وجربت كثير و حاولت اقلل من المشآكل في العملية
بس خلآص تعبت
^^"

اممم
الاستثناء انا باعرف اتعامل معاه
وانا حآاليآ اجرب واعدل في الكود المعدل
:)

بربآت
::جيد::

мємσяιзs
19-07-2011, 18:16
مرحبا
يبدو أنكم قطعتم شوطا في غيابي :موسوس:
على أية حال سؤال في السطر التالي :


// line 8
g ="";h =""; m=""; // line 9

لماذا قمتم بمسح النصوص
ظننت أن المتغيّر كله يمسح بعد انتهاء الدالة فلم يكن هناك داع لمسح المتغيرات

تحياتي
روح سامية



اوووبس
:جرح:

جآري تعديل الكود ^^"

мємσяιзs
19-07-2011, 18:24
وهذآ هو الكود كآمل بعد التعديل

رآح اضيف الاستثناءآت في وقت لآحق

عشآن نكمل في المهم ^^"


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.ListSelectionModel;


public class MSFP extends JPanel implements ActionListener{

JButton b1,b2,b3,b4,b5,b6;
JList dd;
DefaultListModel listo;
JList list;
JFileChooser chooser;
int b,n,m;


public MSFP(){
this.setOpaque(false);
this.setLayout(null);

b1 = new JButton("Add");
b1.setBounds(70, 130, 100, 30);
b1.addActionListener(this);
add(b1);

b2 = new JButton("Remove");
b2.setBounds(70, 170, 100, 30);
b2.addActionListener(this);
add(b2);

b3 = new JButton("Create");
b3.setBounds(70, 210, 100, 30);
add(b3);

b4 = new JButton("exit");
b4.setBounds(70, 250, 100, 30);
add(b4);

b5 = new JButton("UP");
b5.setBounds(170, 210, 100, 30);
b5.addActionListener(this);
add(b5);

b6 = new JButton("Down");
b6.setBounds(170, 250, 100, 30);
b6.addActionListener(this);
add(b6);

listo = new DefaultListModel();
listo.addElement("1");
listo.addElement("2");
listo.addElement("3");
listo.addElement("4");
listo.addElement("5");
listo.addElement("6");

list = new JList( listo );
list.setBounds(280, 150, 150, 130);
add(list);
list.setSelectionMode(ListSelectionModel.SINGLE_SE LECTION);



}



public void actionPerformed(ActionEvent ae) {
String g,h,m;
if(ae.getSource() == b1){
chooser = new JFileChooser();
chooser.showOpenDialog(null);
File f = chooser.getSelectedFile();

listo.addElement(f.getName());

String ff = (String) listo.elementAt(1);
System.out.print(ff);
}

if(ae.getSource() == b2){

listo.removeElement(list.getSelectedValue());
}

if(ae.getSource() == b5){

g = (String) listo.getElementAt(list.getSelectedIndex()-1); // line 1
//3
h = (String) listo.getElementAt(list.getSelectedIndex()); // line 2

listo.setElementAt(h , list.getSelectedIndex()-1); // line 7

listo.setElementAt(g , list.getSelectedIndex());

list.setSelectedIndex((Integer) list.getSelectedIndex()-1); // line 8

}

if(ae.getSource() == b6){
g = (String) listo.getElementAt(list.getSelectedIndex()+1); // line 1

h = (String) listo.getElementAt(list.getSelectedIndex()); // line 2

listo.setElementAt(h , list.getSelectedIndex()+1); // line 7

listo.setElementAt(g , list.getSelectedIndex());

list.setSelectedIndex((Integer) list.getSelectedIndex()+1); // line 8

}
}

public static void main(String[] args){
JFrame jf = new JFrame(" -MEXAT- ");

MSFP msfp = new MSFP();

jf.add(msfp);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(580,450);
jf.setLocation(300, 100);
jf.setResizable(false);
jf.setVisible(true);

}


}

:رامبو:

мємσяιзs
19-07-2011, 19:04
سين سوال

كيف اقدر اسوي print لكل الجدول
باستخدام while

:)

روح سامية
19-07-2011, 20:10
يالحبيب تراك ما حليت الاستثناءات في b5 و b6


if(ae.getSource() == b5){
if (list.getSelectedIndex() == 0) return;

g = (String) listo.getElementAt(list.getSelectedIndex()-1); // line 1

h = (String) listo.getElementAt(list.getSelectedIndex()); // line 2

listo.setElementAt(h , list.getSelectedIndex()-1); // line 7

listo.setElementAt(g , list.getSelectedIndex());

list.setSelectedIndex((Integer) list.getSelectedIndex()-1); // line 8

}

if(ae.getSource() == b6){
if (list.getSelectedIndex() == listo.getSize()-1) return;

g = (String) listo.getElementAt(list.getSelectedIndex()+1); // line 1

h = (String) listo.getElementAt(list.getSelectedIndex()); // line 2

listo.setElementAt(h , list.getSelectedIndex()+1); // line 7

listo.setElementAt(g , list.getSelectedIndex());

list.setSelectedIndex((Integer) list.getSelectedIndex()+1); // line 8

}

мємσяιзs
19-07-2011, 20:46
يالحبيب تراك ما حليت الاستثناءات في b5 و b6


if(ae.getSource() == b5){
if (list.getSelectedIndex() == 0) return;

g = (String) listo.getElementAt(list.getSelectedIndex()-1); // line 1

h = (String) listo.getElementAt(list.getSelectedIndex()); // line 2

listo.setElementAt(h , list.getSelectedIndex()-1); // line 7

listo.setElementAt(g , list.getSelectedIndex());

list.setSelectedIndex((Integer) list.getSelectedIndex()-1); // line 8

}

if(ae.getSource() == b6){
if (list.getSelectedIndex() == listo.getSize()-1) return;

g = (String) listo.getElementAt(list.getSelectedIndex()+1); // line 1

h = (String) listo.getElementAt(list.getSelectedIndex()); // line 2

listo.setElementAt(h , list.getSelectedIndex()+1); // line 7

listo.setElementAt(g , list.getSelectedIndex());

list.setSelectedIndex((Integer) list.getSelectedIndex()+1); // line 8

}




^^"

مآ قصرت والله

يتم التعديل الان

------

мємσяιзs
19-07-2011, 20:49
خلاص حلينا المشكلة

وكان سبب حلها

ماس وبسوم

جزآهم الله خير

الكود بعد التعديل وحل كم مشكلة


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;


public class MSFP extends JPanel implements ActionListener{

JButton b1,b2,b3,b4,b5,b6;
JList dd;
DefaultListModel listo;
JList list;
JFileChooser chooser;
int b,n,m;


public MSFP(){
this.setOpaque(false);
this.setLayout(null);

b1 = new JButton("Add");
b1.setBounds(70, 130, 100, 30);
b1.addActionListener(this);
add(b1);

b2 = new JButton("Remove");
b2.setBounds(70, 170, 100, 30);
b2.addActionListener(this);
add(b2);

b3 = new JButton("Create");
b3.setBounds(70, 210, 100, 30);
b3.addActionListener(this);
add(b3);

b4 = new JButton("exit");
b4.setBounds(70, 250, 100, 30);
add(b4);

b5 = new JButton("UP");
b5.setBounds(170, 210, 100, 30);
b5.addActionListener(this);
add(b5);

b6 = new JButton("Down");
b6.setBounds(170, 250, 100, 30);
b6.addActionListener(this);
add(b6);

listo = new DefaultListModel();
listo.addElement("1sery");
listo.addElement("2wy");
listo.addElement("3");
listo.addElement("4");
listo.addElement("5");
listo.addElement("6");

list = new JList( listo );
list.setBounds(280, 150, 150, 130);
add(list);
list.setSelectionMode(ListSelectionModel.SINGLE_SE LECTION);




}



public void actionPerformed(ActionEvent ae) {
String g,h,m;
if(ae.getSource() == b1){
chooser = new JFileChooser();
chooser.showOpenDialog(null);



File f = chooser.getSelectedFile();


listo.addElement(f.getName());


}

if(ae.getSource() == b2){

listo.removeElement(list.getSelectedValue());
}

if(ae.getSource() == b3){

for (int i=0; i<listo.getSize(); i++)
{

System.out.println((String )listo.elementAt(i));
}


}

if(ae.getSource() == b5){
if (list.getSelectedIndex() == 0) return;

g = (String) listo.getElementAt(list.getSelectedIndex()-1); // line 1

h = (String) listo.getElementAt(list.getSelectedIndex()); // line 2

listo.setElementAt(h , list.getSelectedIndex()-1); // line 7

listo.setElementAt(g , list.getSelectedIndex());

list.setSelectedIndex((Integer) list.getSelectedIndex()-1); // line 8

}

if(ae.getSource() == b6){
if (list.getSelectedIndex() == listo.getSize()-1) return;

g = (String) listo.getElementAt(list.getSelectedIndex()+1); // line 1

h = (String) listo.getElementAt(list.getSelectedIndex()); // line 2

listo.setElementAt(h , list.getSelectedIndex()+1); // line 7

listo.setElementAt(g , list.getSelectedIndex());

list.setSelectedIndex((Integer) list.getSelectedIndex()+1); // line 8

}
}

public static void main(String[] args){
JFrame jf = new JFrame(" -MEXAT- ");

MSFP msfp = new MSFP();

jf.add(msfp);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(580,450);
jf.setLocation(300, 100);
jf.setResizable(false);
jf.setVisible(true);

}


}


كالعادة الكود قابل للتغير
^^"

بربآت استرآحة
>_<

мємσяιзs
22-07-2011, 12:19
عدلت الكود بحيث ان البرنامج تغير بين الصيغ الخاصة للملفات الصوتية

MP3 , WAV , WAM

بحث ان خصصت الـ MP3 بحيث يكون هي الصيغة الاساسية

هذآ هو الكود


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;

import javax.swing.DefaultListModel;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;
import javax.swing.filechooser.FileFilter;
import javax.swing.filechooser.FileView;


public class MSFP extends JPanel implements ActionListener{

JButton b1,b2,b3,b4,b5,b6;
JList dd;
DefaultListModel listo;
JList list;
JFileChooser chooser;
int b,n,m;


public MSFP(){
this.setOpaque(false);
this.setLayout(null);

b1 = new JButton("Add");
b1.setBounds(70, 130, 100, 30);
b1.addActionListener(this);
add(b1);

b2 = new JButton("Remove");
b2.setBounds(70, 170, 100, 30);
b2.addActionListener(this);
add(b2);

b3 = new JButton("Create");
b3.setBounds(70, 210, 100, 30);
b3.addActionListener(this);
add(b3);

b4 = new JButton("exit");
b4.setBounds(70, 250, 100, 30);
add(b4);

b5 = new JButton("UP");
b5.setBounds(170, 210, 100, 30);
b5.addActionListener(this);
add(b5);

b6 = new JButton("Down");
b6.setBounds(170, 250, 100, 30);
b6.addActionListener(this);
add(b6);

listo = new DefaultListModel();
listo.addElement("1sery");
listo.addElement("2wy");
listo.addElement("3");
listo.addElement("4");
listo.addElement("5");
listo.addElement("6");

list = new JList( listo );
list.setBounds(280, 150, 150, 130);
add(list);
list.setSelectionMode(ListSelectionModel.SINGLE_SE LECTION);




}

public class ExtensionFilter extends FileFilter {
private String extensions[];

private String description;

public ExtensionFilter(String description, String extension) {
this(description, new String[] { extension });
}

public ExtensionFilter(String description, String extensions[]) {
this.description = description;
this.extensions = (String[]) extensions.clone();
}

public boolean accept(File file) {
if (file.isDirectory()) {
return true;
}
int count = extensions.length;
String path = file.getAbsolutePath();
for (int i = 0; i < count; i++) {
String ext = extensions[i];
if (path.endsWith(ext)
&& (path.charAt(path.length() - ext.length()) == '.')) {
return true;
}
}
return false;
}

public String getDescription() {
return (description == null ? extensions[0] : description);
}
}

public void actionPerformed(ActionEvent ae) {
String g,h;

if(ae.getSource() == b1){
chooser = new JFileChooser();

FileFilter mp3 = new ExtensionFilter("MP3 files",
new String[] { ".mp3", ".MP3"});
FileFilter wma = new ExtensionFilter("WMA files",
new String[] { ".wma", ".WMA", });
FileFilter wav = new ExtensionFilter("WAV files",
new String[] { ".wav", ".WAV" });

chooser.addChoosableFileFilter(mp3);
chooser.addChoosableFileFilter(wma);
chooser.addChoosableFileFilter(wav);
chooser.setFileFilter(mp3);

chooser.showOpenDialog(null);



File f = chooser.getSelectedFile();
chooser.setCurrentDirectory(f);

listo.addElement(f.getName());


}

if(ae.getSource() == b2){

listo.removeElement(list.getSelectedValue());
}

if(ae.getSource() == b3){

for (int i=0; i<listo.getSize(); i++)
{

System.out.println((String )listo.elementAt(i));
}


}

if(ae.getSource() == b5){
if (list.getSelectedIndex() == 0) return;

g = (String) listo.getElementAt(list.getSelectedIndex()-1); // line 1

h = (String) listo.getElementAt(list.getSelectedIndex()); // line 2

listo.setElementAt(h , list.getSelectedIndex()-1); // line 7

listo.setElementAt(g , list.getSelectedIndex());

list.setSelectedIndex((Integer) list.getSelectedIndex()-1); // line 8

}

if(ae.getSource() == b6){
if (list.getSelectedIndex() == listo.getSize()-1) return;

g = (String) listo.getElementAt(list.getSelectedIndex()+1); // line 1

h = (String) listo.getElementAt(list.getSelectedIndex()); // line 2

listo.setElementAt(h , list.getSelectedIndex()+1); // line 7

listo.setElementAt(g , list.getSelectedIndex());

list.setSelectedIndex((Integer) list.getSelectedIndex()+1); // line 8

}
}

public static void main(String[] args){
JFrame jf = new JFrame(" -MEXAT- ");

MSFP msfp = new MSFP();

jf.add(msfp);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(580,450);
jf.setLocation(300, 100);
jf.setResizable(false);
jf.setVisible(true);

}


}

الكود قابل للتغير كالعآدة

هنآك بعض الاستثنآءآت رآح نحلها مستقبلآ

:جرح:

мємσяιзs
22-07-2011, 12:24
استفسآر

هل الموضوع في مكآنه او لآ؟

هل الموضوع يثير الاهتمام او لآ؟

هل الموضوع له العنوان المنآسب؟

هل الموضوع نوعآ ما نآجح او لآ ؟

هل الموضوع كوجهة نظرك حي ولا ميت :ميت: ؟

لو الموضوع له تقييم من 5, كم تعطيه؟

امممم
هذي اسئلة احب اشوف استجابتكم لهآ
وانا اعني الكل دون استثنآء
؟

:)

Frost Dragon
22-07-2011, 14:08
استفسآر

هل الموضوع في مكآنه او لآ؟
طبعا اخي في مكانه.

هل الموضوع يثير الاهتمام او لآ؟
نعم يثير اهتمامي و حتى تراه مفتوح في متصفحي 24 ساعة حتى انه موجود في الـBookmarks

هل الموضوع له العنوان المنآسب؟
نعم،، لكن مع خطأ لغوي صغير و هو (عن طريق يفضل ان تكون بواسطة او بأستخدام)
يعني بالنسبة لي انا افهم معنى العنوان لكن اللغة العربية مهمة ايضاً :غول:.

هل الموضوع نوعآ ما نآجح او لآ ؟
نعم بالتأكيد ناجح جداً

هل الموضوع كوجهة نظرك حي ولا ميت :ميت: ؟
حي، مادمت تتطور.

لو الموضوع له تقييم من 5, كم تعطيه؟
5 بالتأكيد ،،لانه موضوع سيستفاد منه كثيراً كل مبرمج جديد.


تحياتي:قرصان:

Diamond mas
22-07-2011, 15:50
اعذرني صديقي لم أجد ما اعلق به على الكود السابق :o
_________________________

الموضوع في مكانه فهو موضوع تطوير لبرنامج واستفسار واستشارة للأعضاء لتحصيل أفضل النتائج ::جيد::

بالطبع هو موضوع جميع ولا تعليق عندي على العنوان وبالتأكيد هو موضوع ناجح (بالدليل هذه المشاركة رقم 71)

أعطيك 5/5 مع أنني لا أحب تقييم المواضيع

تحياتي

روح سامية
23-07-2011, 00:52
استفسآر

هل الموضوع في مكآنه او لآ؟
نعم نعم
هل الموضوع يثير الاهتمام او لآ؟
إلى حد ما
هل الموضوع له العنوان المنآسب؟
لا بأس به
هل الموضوع نوعآ ما نآجح او لآ ؟
نعم
هل الموضوع كوجهة نظرك حي ولا ميت :ميت: ؟
يالحبيب نحن نعمل من خلف الكواليس
آخر التطورات
تم قراءة ملف m3u من ملف و حفظه في linkedlist <و كم أنا سيء في linkedlist ، لا أستخدمها كثيرا>
و نحن نعمل الآن على كتابة ملف m3u
خلاصة المقال أننا نعمل على المشروع فلا تقلق
لو الموضوع له تقييم من 5, كم تعطيه؟
٣
امممم
هذي اسئلة احب اشوف استجابتكم لهآ
وانا اعني الكل دون استثنآء
؟

:)


تحياتي
روح سامية

мємσяιзs
26-07-2011, 14:12
شكرآ على ردودكم واجوبتكم

هذآ الاستفسآر كان مجرد فكرة

واستفيد منها في طرحي للموآضيع المستقبلية مع مرآعاة ما كتبتم سآبقآ

مرة اخرى
مآقصرتم والله

:)

روح سامية
27-07-2011, 15:54
مرحبا
فئة تقوم بالكتابة في الملفات :موسوس:


/**
* @author roh samiah
* I have no much knowledge about java classes and their most efficient use
* so this file may need some revision
*/

package MFSP_Classes;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class MFSP_File {
public String[] read(String file_) {
try {
FileReader file=new FileReader(file_);
char[] buffer = new char[30];
String lines=new String();
String[] return_;

while (true) {
int i=file.read(buffer, 0, 30);
if (i <= 0)
break;
else
lines=lines+new String(buffer).substring(0, i);
}
return_=lines.split("\n");

file=null;
return return_;
} catch (IOException e) {
// TODO Auto-generated catch block
System.err.println("could not open file");
return null;
}
}
public void write(String file_,String[] lines_) {
try {
FileWriter file=new FileWriter(file_);
for (int i=0;i<lines_.length;i++) {
file.write(lines_[i] + "\n");
}
file.flush();
file=null;
} catch (IOException e) {
// TODO Auto-generated catch block
System.err.println("could not open file");
}
}
public void append(String file_,String[] lines_) {
try {
FileWriter file=new FileWriter(file_,true);
for (int i=0;i<lines_.length;i++) {
file.write(lines_[i] + "\n");
}
file.flush();
file=null;
} catch (IOException e) {
// TODO Auto-generated catch block
System.err.println("could not open file");
}
}
}


عرض لاستخدام هذه الفئة :

//testing MFSP_File class
MFSP_File file=new MFSP_File(); //creating file class
String[] fileList={"file1","file2","file3"}; //string array
//writing array into file "test.m3u"
//erase content if file exists and create file if needed
file.write("test.m3u", fileList);
//getting new file list
fileList[0]="file4";
fileList[1]="file5";
fileList[2]="file6";
//appending new list to same file
//create file if needed
file.append("test.m3u", fileList);
//reading each line in file into a string array
String[] read=file.read("test.m3u");
//printing array to make sure everythig is ok
for (int i=0;i<read.length;i++) {
System.out.println(read[i]);
}
//end testing MFSP_File class

بإمكانكم استخدامها لإضافة ملفات للقائمة في البرنامج و كتابة القائمة في ملف

تحياتي
روح سامية

мємσяιзs
08-08-2011, 18:30
اعتذر عن الفترة الطويلة
حيث اني لم اشآرك بالموضوع

انا حاليا بفترة بعيد عن النت والمشآريع
لذآ

العذر والسموحة

اذآ رجعت مرة اخرى رآح اعلم كل من كان يتابع الموضوع باستمرآر

في امان الله