PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : سوال برنامه جاوا



*AM@NDA*
31st May 2010, 04:15 PM
برای نوشتن برنامه رسم گراف در جاوا راهنمایی میخوام.
پروژه باید از نوع java application باشه.
برنامه باید از 3تا togglebuttonj تشکیل شده باشه با کلیک روی اولین jtogglebutton با کلیک کردن در هر جای فرم نود گراف رو ایجاد کنه به تعداد نامحدود
با کلیک روی دومین jtogglebutton با کلیک روی دو راس بین انها یال رسم کنه.
با کلیک روی سومین jtogglebutton برای جابه جایی راس های گراف.

خواهش می کنم راهنماییم کنید تا بتونم برنامه رو بنویسم.

Admin
31st May 2010, 06:24 PM
خب عرضم به حضور شما آمنه خانوم...

من جاوا کار نیستم ولی با استفاده از زبان برنامه نویسی C++ و روند برنامه نویسی گرافیکی OpenGL این چنین الگوریتمی میشه براش رسم کرد.

صفجه در OpenGL مختصات خاصی داره.

اول مختصات رو تعریف می کنیم ... بعد طبق مختصات مشخص شده در صفحه با تعریف کردن سه گزینه ی قابل انتخاب برای توسط کلیک موس ( راست کلیک ) گزینه های قابل انتخاب مشخص می شوند.

1. انتخاب و یا اضافه کردن نود جدید
2. انتخاب نود ها و اتصال یال بین نود ها
3. انتخاب نود و سپس با اعلان برنامه انتخاب مکان جدید برای نود انتخابی در مرحله ی قبل.

گزینه ی نهایی یا چهارم هم می تونه خروج از برنامه باشه.

خب با استفاده از این چهار گزینه می توانیم برنامه رو راحت پیش ببریم ...

حال کافیه برنامه رو جوری بنویسیم که کاربر ملزم به انتخاب یکی از این سه گزینه و اجرای اونها باشه و در غیر این صورت پیامی رو به کاربر نشون بده که باید یکی از این سه گزینه رو انتخاب کنه.

اگه مشکلی در بخشی از این الگوریتم داشتید بگید راهنمایی کنم ... ;)

*AM@NDA*
31st May 2010, 06:43 PM
من با جاوا طراحی راس گراف در خروجی رو انجام دادم.
مشکلم تو قسمت رسم یال هست بین دو راس گراف.{worried}

میشه در مورد رسم یال در c++ واضح تر توضیح بدی.د

Admin
31st May 2010, 06:54 PM
من با جاوا طراحی راس گراف در خروجی رو انجام دادم.
مشکلم تو قسمت رسم یال هست بین دو راس گراف.{worried}

میشه در مورد رسم یال در c++ واضح تر توضیح بدی.د

ببینید من طبق برنامه نویسی گرافیکی توضیح دادم براتون.

منتها نمی دونم در جاوا این امکان هست که شما صفحه ای رو تعریف کنید که در اون صفحه کارهای خودتون رو انجام بدید ؟

متذکر میشم که صفحه بر حسب پیکسل تعریف میشه...

بعد با توجه به محاسبات خودتون باید برنامه اش رو بنویسید که وقتی موس روی این صفحه ی تعریف شده کلیک می کنه مختصات x و y رو در یک تابع ذخیره و با توجه به این مختصات نقطه ای رو قرار میده.

همچنین در حالت رسم یال نیز به این صورته که با کلیک بر روی مختصات نقطه رسم شده بین نقطه مقصد و مبدا یک یال رسم میشه ...

پس اول شما باید صفحه ای رو برای سطح کار خودتون تعریف کنید و سپس مختصات های کلیک های انجامی بر روی این صفحه رو در یک تابع ذخیره و عملیات بالا رو روی راس ها انجام دهید.

اگر بازم حل نشد بگید ...

dodor
31st May 2010, 08:10 PM
سلام دوست من!
اتفاقا من هم بر روی این موضوع کار می کنم و البته با جاوا. من به جای این کار از یک JPanel استفاده کرده ام ولی نمی دانم چه جوری باید خطوط بین اتصال را بین نود ها که دارای پارامترهای مختصاتی می باشند در آن همراه با اتصالات نشان دهم. الگوریتم من باید تمامی فواصل متختصاتی برای محدوده ی انتخاب شده حساب می کند ولی نمی دانم چه طور باید رسم کنم؟
موفق باشید.

Admin
31st May 2010, 08:28 PM
سلام دوست من!
اتفاقا من هم بر روی این موضوع کار می کنم و البته با جاوا. من به جای این کار از یک JPanel استفاده کرده ام ولی نمی دانم چه جوری باید خطوط بین اتصال را بین نود ها که دارای پارامترهای مختصاتی می باشند در آن همراه با اتصالات نشان دهم. الگوریتم من باید تمامی فواصل متختصاتی برای محدوده ی انتخاب شده حساب می کند ولی نمی دانم چه طور باید رسم کنم؟
موفق باشید.در OpenGL این کار دستور خاصی و کدهای کتابخانه ای خاصی داره ...

همچنین می تونید دستوری مجزا براش بنویسید که با توجه به وجود این شرایط که وقتی روی این دو راس کلیک شد برنامه نقاطی از صفحه را با توجه به الگوریتم خاصی نقطه گذاری کند که در نهایت این دو راس به هم متصل بشوند. ;)

راحت تر بگم ... نقاشی کنید و در آن نقاشی یک خط رسم کنید بین دو نقطه.

در هر صورت راه بسیاره ...

dodor
31st May 2010, 08:44 PM
سلام دوست من!
ممنونم از پاسخ شما. الگوریتم اتصال این نقاط در صفحه با توجه به پست شما را می دانم ولی مشکل اینجاست که من نتوانستم از آن استفاده کنم.
این مورد با استفاده از کلاس raster قابل پیاده سازی است . ولی من نتوانستم از این کلاس استفاده کنم . مشکل این جاست ( با توجه به اینکه مطالعه ی زیادی در موردش کردم) که object و هیچ چیز دیگر فبول نمی کند . حتی با استفاده از متد raster.pixMap را نمی شناخت فکر کنم raster مشکل دارد.
به خاطر همین از JPanel استفاده کردم جالا باز نمی دانم که چه جوری اتصال بر قرار کنم!!! این نقاط در صفحه رسم می شوند ولی اتصال آن ها مشکل داره!!!!
موفق باشید.

*AM@NDA*
31st May 2010, 09:50 PM
من هم از jpanel استفاده کردم.
دقیقا مشکلم در رسم یال هست.
نمیشه از متد drawline هم استفاده کرد چون نقاط رو نمیتونم ذخیره کنم.

dodor
31st May 2010, 10:07 PM
سلام دوست من!

نمیشه از متد drawline هم استفاده کرد چون نقاط رو نمیتونم ذخیره کنم.
میشه بگید که شما پس جوری از نقاط مختصاتی استفاده می کنید؟ در ضمن این متد فکر نمی کنم قایده ای داشته باشد چون احتیاح به یک فریم جدید می باشد تا در آن اتصال ها رسم شوند. شما چه الگوریتمی برای نمایش می هواهید استفاده کنید؟
موفق باشید.

*AM@NDA*
31st May 2010, 10:42 PM
سلام دوست من!

میشه بگید که شما پس جوری از نقاط مختصاتی استفاده می کنید؟ در ضمن این متد فکر نمی کنم قایده ای داشته باشد چون احتیاح به یک فریم جدید می باشد تا در آن اتصال ها رسم شوند. شما چه الگوریتمی برای نمایش می هواهید استفاده کنید؟
موفق باشید.
هنوز که به نتیجه نرسیدم.
دارم فکر میکنم چه میشه کرد.

dodor
1st June 2010, 12:00 PM
سلام دوست من!
برای نگه داری نقاط می نونید از آرایه و یا لیست پیوندی کمک بگیرید . خیلی راحت تمامی نقاط صفحه برای شما گه داری می شوند.
موفق باشید.

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد