نمایش نتایج 1 تا 7 از 7

نام تاپیک: نمایش یک پنل مشترک توی تمام صفحات برنامه در جاوا

  1. #1

    Question نمایش یک پنل مشترک توی تمام صفحات برنامه در جاوا

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

  2. #2
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: نمایش یک پنل مشترک توی تمام صفحات برنامه در جاوا

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

  3. #3
    [younes]
    مهمان

    نقل قول: نمایش یک پنل مشترک توی تمام صفحات برنامه در جاوا

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

  4. #4

    نقل قول: نمایش یک پنل مشترک توی تمام صفحات برنامه در جاوا

    نقل قول نوشته شده توسط vahid-p مشاهده تاپیک
    خب میتونی صفحاتت رو hierarchical بسازی. یعنی یک کلاس بیاد طرح کلی صفحه رو ایجاد کنه (منو و بخشی که هر صفحه ای میتونه داخل اون قرار بگیره)
    در هر صفحه این قسمت اجرا بشه، بعلاوه محتوای خود اون صفحه هم نمایش داده بشه.
    سلام.حقیقتش من تا حالا با hierarchical کارنکردم.مثالی جیزی ندارید؟ممنون میشم.

  5. #5

    نقل قول: نمایش یک پنل مشترک توی تمام صفحات برنامه در جاوا

    نقل قول نوشته شده توسط [younes] مشاهده تاپیک
    از swing استفاده میکنید یا javafx ؟
    سادست از یک ساختمان داده استفاده کنید و هر پنل رو که باید به یک آیتم از منو مربوط شود با استفاده از یک آی دی در آن ذخیره کنید.
    بعد در رویداد کلیک روی هر آیتم منو ، پنل محتوا رو ریست کنید و با توجه به آی دی ، پنل مورد نظر را از ساختمان داده بیرون بکشید و به عنوان فرزند به پنل محتوا اضافه کنید.......
    من از swing.
    امتخان کنم ببنم چی میشه.فقط اگه مثالی یا منبعی دارید ممنون میشم

  6. #6
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: نمایش یک پنل مشترک توی تمام صفحات برنامه در جاوا

    از اونجایی که تو انجمن JavaEE نوشتید فکر کردم web-based هست برنامتون (هر چند JavaEE متناظر با Web نیست اما معمولا مباحث web-based اینجا مطرح میشه و در مورد swing و javafx و... در JavaSE)
    به هر حال.
    اینکار رو خیلی راحت میتونید در Swing انجام بدید. هر چند این یک مسئله سلیقه ای هست و روش واحدی نداره و نمیتونم بگم کدوم بهتره ولی یکی از راه ها رو میگم، شاید بدردتون بخوره.

    این روش که میگم سادست ولی خیلی انعطاف پذیری نداره. به نظرم تا خودتون پیاده نکنید و به مزایا و معایبش پی نبرید، من شاید نتونم منظورم رو از انعطاف پذیری به وضوح بیان کنم.
    روش: (شاید بشه اسمش رو گذاشت طراحی لایه ای)
    شما یک کلاس ایجاد کنید که JFrame رو ارث بری کنه. در این کلاس شمای کلی برنامتون ایجاد کنید، منوهای بالای برنامه، منوهای کناری و سایر ابزارهایی که بین صفحات مختلف مشترک هستند. سپس یک بخش بزرگی و تقریبا گویی فضای خالی هست (بعدا صفحات مختلف در اون قسمت قرار میگیرند). این قسمت خالی رو با JPanel بسازید.

    برای هر صفحه مختلف از برنامتون یک کلاس که از JPanel ارث بری کنه، ایجاد کنید. الان شما هر چیزی در این صفحات طراحی کنید در قالب اون JPanel محدود شده و هر جایی که JPanel بتونه قرار بگیره (همون فضای خالی که قبلا اشاره شد) این صفحه هم میتونه قرار بگیره.

    الان به راحتی با کلیک بر روی هر منویی، فضای خالی (JPanel) رو با کلاس جدید مورد نظر جایگزین کنید.

    مزایایی که داره، سادگی و مستقل بودن قسمت های مختلف از همدیگه هست. مستقل بودن یعنی با تغییر کلاس اصلی برنامه (که از JFrame ارث برده بود) مشکلی برای صفحات داخلی پیش نمیاد. اما از معایبش اینه که در صفحه داخلی شما به کل برنامه دسترسی ندارید (ویژگی طراحی لایه ای همینه). این عیب در مقابل مزیت مستقل بودن قرار دارد و هر کدوم رو بخواید دیگری رو از دست میدید.
    البته میتونید اینترفیستون رو گسترش بدید و از انعطاف پذیریش کم کنید و بخش هایی از برنامه اصلی که لازمه در اختیار صفحات داخلی قرار بگیرن رو از طریق پارامترهای Constructor به اون پاس بدید. یا بخواید کاملا وابسته کنید، میتونید کل صفحه اصلی رو به عنوان پارامتر به صفحه داخلی پاس بدید.

  7. #7

    نقل قول: نمایش یک پنل مشترک توی تمام صفحات برنامه در جاوا

    با تشکر از دوست عزیزم اقای vahid-p
    با توجه به راهنمایی شما،بنده اومدم توی فریمم دوتا پنل گداشتم.پنل سمت چپ به عنوان منو که ثابت هستش(و داخلش چندتا باتن هستش)،و منوی سمت راست که متغیر هستش.
    بعد اومدم یک کلاس که از jpanel ارث بری میکنه رو ایجاد کردم و عناصر رو داخلش چیدم.
    و در گام اخر اون jpanel رو داخل پنل سمت راستی فراخوانی کردم.
    سورسش رو هم پیوست کردم که شاید لازم بعضی دوستان بشه.
    http://uploadboys.com/d370796fefbe29...MultiFrame.rar

تاپیک های مشابه

  1. نمایش درست صفحات برنامه در resolution های مختلف؟
    نوشته شده توسط mhs5862 در بخش C#‎‎
    پاسخ: 0
    آخرین پست: چهارشنبه 29 آذر 1391, 10:01 صبح
  2. مشکل در نمایش یک پنل
    نوشته شده توسط NOSRATGOLAB در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: جمعه 31 شهریور 1391, 07:53 صبح
  3. سوال: نمایش یک پنل بعد از کلیک بر روی دکه delete در یک Gridview
    نوشته شده توسط elham1611 در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: شنبه 10 دی 1390, 23:20 عصر
  4. سوال: برای ایجاد یک پــــــــوســـــته گرافیکی برای تمامی صفحات برنامه چه باید کرد؟؟؟؟
    نوشته شده توسط 850725115 در بخش Java ME : نگارش میکرو جاوا
    پاسخ: 2
    آخرین پست: سه شنبه 28 تیر 1390, 16:38 عصر
  5. استفاده از componentهای مشترک بین تمام صفحات بدون تکرار کد
    نوشته شده توسط saffari2005 در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: پنج شنبه 10 دی 1383, 07:37 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •