فیلم آمورشی – بخش نهم استفاده از JList در جاوا

https://www.aparat.com/v/71gkT

استفاده از JList در جاوا

استفاده از JList در جاوا

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

همچنین در این فیلم به صورت مقدماتی با نحوه کد نویسی به صورت Generic و همچنین به چند قابلیت Netbeans آشنا می شویم.

در صورت وجود هر گونه سوال در قسمت نظرات بیان فرمایید

دوستان لطفا اشکالات آموزش از جمله نحوه بیان تند حرف زدن ، کند حرف زدن ، زیاد یا کم توضیح دادن و یا هر مشکل دیگری که فکر می کنید اگر بر طرف شود به بالا رفتن کیفیت آموزشها کمک می کند را بیان بفرمایید تا در آموزش های بعدی لحاظ شود.

مذت فیلم: ۳۷ دقیقه

حجم: ۲۴ مگابایت

لینک فیلم آموزشی بخش نهم جاوا در آپارات

 

 

 

لینک فیلم آموزشی بخش نهم جاوا در یوتیوب

 

در یوتیوب کیفیت نمایش را در حداکثر انداره قرار دهید تا فیلم را با کیفیت خوبی ببینید

 

لینک های دانلود:

لینک دانلود فیلم آموزشی استفاده از JList از دراپ باکس

لینک دانلود سورس برنامه استفاده از JList از دراپ باکس

 

امید فرجی

سلام، امید فرجی هستم از همدان. از سال 1398 در حوزه برنامه نویسی فعالیت دارم و در این مدت پروژه های تجاری مختلفی انجام دادم. همچنین از سال 1391 سایت آموزش تخصصی جاوا را راه اندازی کردم و در خدمت شما هستم. امیدوارم مفید بوده باشم.

شما ممکن است این را هم بپسندید

۴۴ پاسخ‌ها

  1. جاواکار گفت:

    خسته نباشید آقای فرجی
    راستش، دیروز میخواستم تو سایت کامنت بذارم، ولی نمیدونم چرا سایت رو اصلا باز نکرد

    میخواستم بپرسم که برای یادگیری زبان
    SQL
    باید از کجا شروع کنم؟
    شما مرجع و کتاب خوبی میشناسید؟
    چقدر باید وقت بذارم که این زبان رو یاد بگیرم؟
    باید IDE خاصی رو نصب کنم؟

    این زبان برای استفاده از کدام دیتا بیس هست؟ ما اس کیو ال یا اوراکل؟

    با تشکر

    • سلام. سرور سایت مشکل داشت و سایت لالا نمیومد. با پیگیری ها امروز مشکل برطرف شد. از همه ی دوستان معذرت میخوام.
      اس کیو ال یه زبان برای ارتباط با دیتابیس های رابطه ای هست و تقریبا همه ی دیتابیس ها این زبان رو ساپورت میکنن. یعنی شما برای ارتباط با همه ی دیتابیس ها باید از زبان SQL استفاده کنید. یادگیریش هم خیلی سخت نیست و زمان زیادی نمیخواد. یه کم که یاد بگیری بعدش دیگه کم کم پیشرفت میکنی.
      محیط نوشتنش هم توی همون محیطیه که از دیتابیس استفاده میکنید. مثلا برای MySQL میتونید در محیط PHPMyAdmin دستورات SQL رو بنویسید.
      میتونید از آموزش زیر استفاده کنید. سریع و کاربردی هست:
      آموزش سریع SQL

      موفق باشید 🙂

  2. جاواکار گفت:

    فیلم آموزشی رو دیدم، مثل همیشه عالی، فقط یکی دوبار صدا پرش داشت!

    خواستم از زحماتتون تشکر کنم.

    • ممنون از لطف شما.
      آمار بازدید سایت به ۴۰۰ تا در روز رسیده و لی نظرات و انتقادات خیلی خیلی کمه. نظرات شما باعث بهبود کیفیت آموزشها در جلسات بعد میشه.
      به هر حال من سعی خودمو میکنم که اموزشها با کیفیت تر بشن.
      موفق و سربلند باشید

  3. جاواکار گفت:

    شما قراره که از MYSQL استفاده کنید یا از اوراکل؟

    چون میخواستم یکم پیش زمینه مطالعاتی داشته باشم.

    ممنونم

    • فرق استفاده از دیتابیس ها مختلف در جاوا فقط در یکی دو تا خط کد هست. یعنی من تمام کارهایی که برای کار با همه ی دیتابیس ها مشترک هست رو میگم، و بعدش کدهای اتصال به دیتابیس های مختلف رو توی ده دقیقه میگم.
      شما SQL رو یاد بگیرید ، بقیش دیگه مشکل نیست.
      البته من سعی میکنم از دیتابیس H2 استفاده کنم.

  4. جاواکار گفت:

    سلام
    خسته نباشید
    پیرو اون سئوالم که درباره گذاشتن دکمه ویرایش بود، گفتید که یک متد getSelectedMember() تو مدل جدولم اضافه کنم.
    من اینجوری کردم، ولی فکر کنم درست نباشه:

    
        public Object getSelectedMember(int row){
            UserInformation userInf=new UserInformation();
            
            Object fname=userInf.getFname();
            Object lname=userInf.getLname();
            Object gender=userInf.getGender();
            Object date=userInf.getDate();
            return // ?
            
        }
    
    

    یکم راهنمایی بفرمایین.
    ممنونم

  5. جاواکار گفت:

    یا اینکه باید اینجوری باشه:

    
    
        public Object getValueAt(int rowIndex,x) {
            UserInformation uinfoS = Udata.get(rowIndex);
     int columnIndeک
            Object value = null;
            switch (columnIndex) {
                case 0:
                    value = uinfoS.getID();
                    break;
                case 1:
                    value = uinfoS.getFname();
                    break;
                case 2:
                    value = uinfoS.getLname();
                    break;
                case 3:
                    value = uinfoS.getGender();
                    break;
                case 4:
                    value = uinfoS.getDate();
                    break;
                default:
                    value = "...";
            }
            return value;
        }
    
    
    
    

    اینجوری هم که میشه عین متد getValueAt خودمون!

    • سلام. هیچ کدوم.
      چیزی که گفتم این متد هست:

      
          public UserInformation getSelectedMember(int selectedIndex) {
             return Udata.get(selectedIndex);
          }
      

      توی رویداد دکمه ویرایش ، با استفاده از این متد ، کاربر انتخاب شده رو به دست میاری و به کلاس اضافه کردن کاربر پاس میدی. کلاس اضافه کردن کاربر ، از این UserInformation که بهش پاس داده شده استفاده میکنه و فیلد ها رو پر میکنه.

  6. جاواکار گفت:

    ببخشید، این selectedIndex منظور چیه؟

  7. جاواکار گفت:

    سلام
    بابت راهنمایی هاتون ممنونم
    بیزحمت بفرمایین که این متد getSelectedMembe رو چحوری به کلاس اضافه کردن عضو جدید پاس بدیم؟
    چون کلاس عضو جدید، یک jframe هست که چندتا تکست فیلد داره.

    چجوری هم باید تک تک تکست فیلد ها رو با قسمت های مربوطه userInformation پر کنیم؟

    ممنونم!

    • خواهش میکنم.
      باید کانستراکتور همون کلاس اضافه کردن عضور رو تغییر بدی که یه آبجکت از نوع userInformation بگیره. بعد جایی که آبجکت اضافه کردن عضو رو میسازی و visible میکنی باید با متد getSelectedMembe عضو انتخاب شده رو بگیری و زمان ساختن آبجکت از کلاس اضافه کردن عضو ، بهش پاس بدی.
      تا اینجا تونستی userInformation انتخاب شده رو به کلاس اضافه کردن عضو برسونی. دیگه اونجا هم که خودت میدونی چطوری باید فیلد ها رو با اطلاعات userInformation پر کنی. یه setText سادس.
      در ضمن آخرین کامنتتو حذف کردم. چون یه کد خیلی خیلی به هم ریخته توش بود. کدت اصلا خط به خط نبود. همش پشت سر هم بود.
      موفق باشی 😉

  8. جاواکار گفت:

    حدس میزدم اینجوری باشه،
    تو اون کد قاطی قاطی پاتیم هم همیون کارو کرده بودم،
    تست میکنم خبر میدم.

    با تشکر

  9. جاواکار گفت:

    سلام
    خواستم فایل های کلاسمو براتون بفرستم تا ببینین مشکل از کجاست.
    سه تا کلاس هست که یکیش چون به صورت ویژال jframe هست یه فایل فورم هم داره، یعنی در مجموع میشه چهار تا فایل.
    بیزحمت یه نگاهی بهشون بندازین ببینیم گیرش کجاست.
    فایل رو بصورت فشرده به ایمیلتون ضمیمه کردم.
    ممنون.

    • من قول نمیدl که بتونم به این زودی فایلها رو نگاه کنم. این چند وقت خیلی سرم شلوغ شده.
      ولی اگه مشکلاتتو اینجا بپرسی من سعی میکنم در اسرع وقت جواب بدم
      موفق باشی 😉

  10. جاواکار گفت:

    سلام
    خوساتم این مشکل قبلیمو اینجا بپرسم، میترسم بازم قاطی پاتی بشه،
    من برای دکمه ادیت اینو نوشتم:

    
            if(e.getSource()== editButton){
                int selectedRow=uTable.getSelectedRow();
                if(selectedRow>0){
                    editUser(selectedRow);  
                }
                else{
                    JOptionPane.showMessageDialog(null, "Select a row");
                } 
            }
    

    که متد ادیت اینطوریه:

    
        public void editUser(int row){
            UserInformation userInf=new UserInformation();
            userModel.getSelectedMember(row);
            NewUserFrame_Edit edit = new NewUserFrame_Edit(userInf);
        }
    

    کلاس NewUserFrame_Edit هم از jframe مشتق شده و تو سازندش اینطوری نوشتم:

    
    
        public NewUserFrame_Edit( UserInformation userinf) {
    
            jTextField1.setText(userinf.getFname().toString());
            jTextField2.setText(userinf.getLname().toString());
            if(userinf.getGender().equals("Male")){
                jRadioButton1.setSelected(true);
            }
            else{
                jRadioButton2.setSelected(true);
            }
            
            jTextField3.setText(userinf.getDate());
            setVisible(true);
        }
    

    ولی استثنا نال پوینتر میده، بیزحمت یه نگاهی بفرمایین،

    ممنون!

    • سلام.
      متد editUser رو اینطوری بنویس. احتمالا درست میشه:

      
          public void editUser(int row){
              UserInformation userInf= userModel.getSelectedMember(row);
              NewUserFrame_Edit edit = new NewUserFrame_Edit(userInf);
          }
      
  11. جاواکار گفت:

    با اون نکته ای که گفتید، مشکل حل شد.

    خیلی ممنونم.

  12. سحر گفت:

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

    • سلام. در مورد سوال اول باید بگم که، باید عکس رو بگیرید و در کنار پروژه نگهداری کنید، نه توی فایل اطلاعات.
      سوال دوم: خب شما باید خط رو بخونید و با استفاده از متد split تکه تکه کنید و هر کدوم از تکه ها رو که میخواید استفاده کنید.
      سوال سوم: اگه از PrintWriter برای نوشتن در فایل استفاده میکنید، کافیه وقتی دارید داده جدید رو در فایل مینویسید ، یه “n\” در ایتدای داده ها قرار بدید. اینطوری داده ها از ابتدای خط جدید نوشته میشن.
      موفق باشید

  13. سحر گفت:

    سلام ببخشد من منظورتون از اینکه عکس همراه پروژه باشه نفهمیدم
    آخه هر گروهی داری یه عکسه میشه واضحتر بگین؟
    باتشکر

    • عکس های هر گروه رو توی پوشه ی مربوط به خودش در کنار فایل برنامه قرار بده.
      یعنی وقتی عکس رو از کاربر گرفتی توی پوشه ی مربوط به گروهش ، که کنار فایل jar برنامه قرار داره کپیش کن. اینطوری توی برنامه هر وقت بخوای ازش استفاده کنی راحت بهش دسترسی داری.

  14. سحر گفت:

    اقای فرجی من از دستور”n\”استفاده کردم ولی نشد چرا؟؟؟ باز گزوه ها پشت سرهم میان

  15. سحر گفت:

    از اول امتحان کردم دستور بالا رو ولی متاسفانه واسه رندم هم با اینکه شرط ifگذاشتم که این خط بعد رو چون طولش صفره نخونه ولی باز تو رندوم حسابش میکنه
    ولی بازم ممنونم از راهنماییتون

  16. جاواکار گفت:

    سلام آقا امید، خسته نباشید، با زحمتای ما؟

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

    من کل فایل جار رو به ایمیلتون فرستادم، هر قسمت کدی که خواستین رو بفرمایین تا بفرستم.

    • سلام.
      مشکلتون رو فهمیدم. زحمت بکشید کل کد برنامه رو اگه دوست داشتید برام بفرستید، تا بتونم بررسیش کنم و مشکل رو بهتون بگم
      موفق باشید

  17. جاواکار گفت:

    کل کلاس های مرتبط رو فرستادم

  18. جاواکار گفت:

    سلام
    فایل ها ارسال شدند

  19. جاواکار گفت:

    سلام
    آقا امید مشکل مارو تونستید حل کنید؟
    ما همچنان منتظر پاسختون هستیم!

  20. جاواکار گفت:

    ممنونم، منتظرم!

  21. جاواکار گفت:

    سلام آقا امید.

    اون مشکل من خودش حل شد، بالاخره…

    راستی، چرا دیگه پست جدیدی قرار نمیدید؟

  22. gyoc گفت:

    سلام چرا ادامه نمی دین ؟
    دقیقا مشکل همینه که همه فقط خوب شروع می کنن ولی ادامه نمی دن
    شما سعی کنید متفاوت باشین تا نتیجه ی متفاوتی هم بگیرین 🙂

  23. shayan گفت:

    لینک فیلم آموزشی خراب است

  24. mahdi گفت:

    سلام و خسته نباشید
    من میخوام شروع کنم با جاوا برای ویندوز برنامه بنویسم ولی نمیدونم از کجا شروع کنم!
    برنامه netbeans 7 و jre و jdk پیشنهادشدش هم رو سیستم نصبه فقط میمونه این که من چطوری میتونم یه پروژه ویندوزی ایجاد کنم؟مثل ویژوال استودیو که راحت یه برنامه ساخته میشه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *