PDA

View Full Version : ارايه ها يا Vector‌ها و نجوه استفاده از انها



pouria_bayat
دوشنبه 20 دی 1389, 22:38 عصر
سلام خدمت همه اساتيد گرامي.
اميدوارم اقا بابك عزيز(javaphantom (http://barnamenevis.org/member.php?17370-javaphantom)) زودتر به فروم سر بزنند و مارو از اطلاعاتشون و راهنمايي هاشون بهره مند كنند واقعا جاي اين عزيز گرانقدر با سطح علمي خوبشون توي فروم خاليه و گرانبهاست و از مديران عزيز خواهش دارم زحمات اين دوست عزيز رو ناديده نگيرند.

به هر حال چند سوال از اساتيد گرامي داشتم كه اميدوارم پاسخ داده بشه. در جايي در مورد وكتورها يا Vector ها برخورد كردم كه توي جستجوهايي كه داشتم فهميدم براي ارايه اي از اشيا به كار ميره حالا سوال من اينه كه من يك ارايه از JLabel‌ ها درست كردم و توي هر Label يك عكس قرار دادم مشگل من از اينجا شروع ميشه كه قسمتي از بعضي از label‌ها روي Label‌هاي ديگرقرار ميگره اما مشگل اينجاست كه عكس در زير عكس Label قبل قرارداده ميشه واضح تر بگم اينكه من ميخواهم يك Label‌كه عكس خاصي داره روي Label ديگري قرار داده بشه چه كاري بايد انجام بدم جايي خوندم كه بايد اينكارو از طريق vector‌ها انجام بدم چجوري اينكار امكان پذيره؟
فرض كنيد شما يك JPanel‌داريد كه درونش يك عكس و روي ان چند Jlabel به صورت ارايه تعريف مي كنيد از 0 تا 5 كه Jlabel‌ها هر كدام يك عكس كوچكتر دارند كه روي عكس بزرگتر قرار ميگيرند حالا فرض كنيد ارايه موجود ار Jlabel‌ها از بالاي Jpanel به پايين قرار ميگرند در يك ستون كه هر Jlabel قسمتي از اون روي Jlabel قبلي قرار ميگيره اما متاسفانه در عمل اينطور نميشه و عكس تعريف شده براي JLabel[1] زير عكس تعريف شده در Jlabel قبلش JLabel[0] قرار ميگره در صورتي كه بايد روش باشه. اميدوارم متوجه شده باشيد حالا چه كاري بايد انجام بدم كه اينكار امكان پذير باشه؟
اگر لازم به توضيح بود و همراه با عكس از برنامه مجددا قرار ميدهم.

Hadirj
سه شنبه 21 دی 1389, 08:19 صبح
چرا از ImageIcon استفاده نمیکنی؟ البته من متوجه نشدم که دقیق میخواهی چیکار کنید، بهتر حداقل عکس حالتی که الان هست + کد اون قسمت رو قرار بدید

pouria_bayat
سه شنبه 21 دی 1389, 08:48 صبح
چرا از ImageIcon استفاده نمیکنی؟ البته من متوجه نشدم که دقیق میخواهی چیکار کنید، بهتر حداقل عکس حالتی که الان هست + کد اون قسمت رو قرار بدید

منم از ImageIcon استفاده كردم و براي يك ارايه از JLabel‌ها ولي ممنون مشگلم حل شد از ديشب چند ساعت روش فكر كردم و فهميدم بايد حلقه for براي تعريف ارايه رو به صورت زير تعريف كنم:


JLabel[] lB = new JLabel[5];
for(int i = (lB.length)-1 ; i >= 0; i--) {
lBuild[i] = new JLabel();اينطوري باعث ارايه از انتها به ابتدا تعريف ميشه اينوطر كه معلومه Jlabel اي كه زودتر تعريف ميشه روي JLabel بعدي قرار بگيره اولويت داره ولي با تعريف فوق ميشه عكس JLabel ها رو ي هم قرار بگيره از انتها به هر حال ممنون لطف كرديد وقت گذاشتيد برام.