پرش به محتوای اصلی
مسیر تخصصی جاوا و Spring
درخواست پروژهارتباط با ماراهنما
جاواپرو v1.2.14یاد بگیر، تمرین کن، حرفه‌ای بساز
خانهدوره‌هاآموزش رایگانوبلاگمدرس‌هاخدمات
خانه♨️ جلسه پانزدهم - کلاس JProgressBar در جاوا
آموزش برنامه نویسی »

♨️ جلسه پانزدهم - کلاس JProgressBar در جاوا

در این جلسه آموزشی زبان برنامه نویسی جاوا قصد داریم JProgressBar یکی از کلاس های گرافیکی موجود در کتابخانه Swing را بررسی کنیم

۸ دقیقه مطالعهآموزش برنامه نویسی »آموزش جاوا و انجام پروژه های برنامه نویسی
♨️ جلسه پانزدهم - کلاس JProgressBar در جاوا
محتوای منتخب جاواپرو

خلاصه مطلب

در این جلسه آموزشی زبان برنامه نویسی جاوا قصد داریم JProgressBar یکی از کلاس های گرافیکی موجود در کتابخانه Swing را بررسی کنیم
نوع محتوامقاله آموزشی
موضوعآموزش برنامه نویسی »
زمان مطالعه۸ دقیقه
آخرین ویرایش۲۸ آذر ۱۴۰۰

فهرست جلسات آموزش گرافیک در جاوا

جلسه اول | معرفی Swing در جاوا

جلسه دوم | کلاس JButton در جاوا

جلسه سوم | کلاس JLabel در جاوا

جلسه چهارم | کلاس JTextField درجاوا

جلسه پنجم | کلاس JTextArea در جاوا

جلسه ششم | کلاس JPasswordField در جاوا

جلسه هفتم | کلاس JCheckBox در جاوا

جلسه هشتم | کلاس JRadioButton در جاوا

جلسه نهم | کلاس JComboBox در جاوا

جلسه دهم | کلاس JTabel در جاوا

جلسه یازدهم | کلاس JOptionPane در جاوا

جلسه دوازدهم | ساخت منو گرافیکی در جاوا

جلسه سیزدهم | کلاس JPopupMenu در جاوا

جلسه چهاردهم | کلاس JSeparator در جاوا

جلسه پانزدهم | کلاس JProgressBar در جاوا

جلسه شانزدهم | کلاس JTree در جاوا

جلسه هفدهم | کلاس JColorChooser

جلسه هجدهم | کلاس JSlider در جاوا

جلسه نوزدهم | کلاس JSpinner در جاوا

جلسه بیستم | کلاس JPanel در جاوا

جلسه بیست و یکم | کلاس JFileChooser در جاوا

جلسه بیست و دوم | کلاس JLayeredPane در جاوا

جلسه بیست و سوم | استفاده از ToolTip در جاوا

جلسه بیست و چهارم |تغییر آیکون Frame در جاوا

جلسه بیست و پنجم | کلاس Graphics در جاوا

جلسه بیست و ششم | نمایش تصویر در Swing

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

کلاس JProgressBar برای نمایش پیشرفت کار در برنامه استفاده می شود. برای درک بهتر از این اجزای گرافیکی در جاوا تصویر(1) را مشاهده کنید: • مطمئنا با دیدن تصویر(1) JProgressBar برای ما آشنا خواهد بود، چرا که ان اجزای گرافیکی را در جاهای مختلف از کامپیوتر خود دیده ایم مثلا هنگام دانلود ، فرآیند پیشرفت دانلود را با این ابزار گرافیکی نمایش می دهند.

• سازنده های پرکاربرد کلاس JProgressBar :

توصیفسازنده
ایجاد یک ProgressBar افقی بدون داشتن متنJProgressBar()
ایجاد یک ProgressBar افقی با مقدار minimum و maximum مشخصJProgressBar(int min, int max)
ایجاد یک ProgressBar با جهت یابی مشخص . منظور از جهت یابی حالت افقی یا عمودی بودن ProgressBar ما در برنامه می باشد. برای حالت افقی دستور ثابت SwingConstants.HORIZONTAL را جایگزین پارامتر orient می کنیم. برای حالت عمودی دستور ثابت SwingConstants.VERTICAL را جایگزین پارامتر orient می کنیم.JProgressBar(int orient)
پارامترهای این سازنده ترکیبی از دو سازنده قبل می باشد. یعنی ایجاد یک ProgressBar با جهت یابی و با مقدار minimum و maximum مشخصJProgressBar(int orient, int min, int max)

• متدهای پرکاربرد کلاس JProgressBar:

توصیفمتد
این متد برای تعیین نمایش یا عدم نمایش یک String در ProgressBar ما استفاده می شود.void setStringPainted(boolean b)
این متد برای مقداردهی رشته (متن) ProgressBar ما استفاده می شود.void setString(String s)
این متد برای تعیین جهت قرار گیری ProgressBar ما در برنامه استفاده می شود. این جهت قرارگیری ممکن است افقی یا عمودی باشد. برای حالت افقی دستور ثابت SwingConstants.HORIZONTAL را جایگزین پارامتر orientation می کنیم. برای حالت عمودی دستور ثابت SwingConstants.VERTICALvoid setOrientation(int orientation)

مثال:

package javalike ; import javax.swing.*; public class ProgressBarExample extends JFrame { JProgressBar jb; int i = 0; ProgressBarExample() { jb = new JProgressBar(0, 2000); jb.setBounds(40, 40, 160, 30); jb.setValue(0); jb.setStringPainted(true); add(jb); setSize(250, 150); setLayout(null); } public void iterate() { while (i
روش ایجاد ProgressBar
روش ایجاد ProgressBar

خروجی: بعد از اجرای برنامه خروجی بصورت تصویر(2) خواهد بود: در تصویر(2) ProgressBar از صفر شروع می شود و تا صد که پایان روند پیشرفت کار می باشد متوقف می شود. توضیحات:

JProgressBar jb;

• یک شی از نوع JProgressBar تعریف می کنیم.

int i = 0

• متغیر i نقش شمارنده ما را بازی می کند.

jb = new JProgressBar(0, 2000);

• این تعیین مقدار یعنی ProgressBar ما تنها بین 0 تا 2000 می تواند مقدار بگیرد.

jb.setBounds(40, 40, 160, 30);

• تعیین مختصات و ابعاد ProgressBar ما در فریم.

1. add(jb); 2. setSize(250, 150); 3. setLayout(null);

1. اضاف کردن شی ProgressBar خود به فریم برنامه

2. تعیین اندازه فریم برنامه

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

public class ProgressBarExample extends JFrame {

• چون کلاس ما کلاس JFrame را به ارث برده است دیگر نیازی به شی سازی از کلاس JFrame در برنامه خود نداریم به عبارتی کلاس ما خود یک JFrame حساب می شود چون فرزند کلاس JFrame هستش و تمام ویژگی ها و متدهای کلاس JFrame را به ارث برده و به آنها دسرسی دارد.

public void iterate() { while (i

• این متد را برای تعیین روند پیشرفت کار در ProgressBar ایجاد کرده ایم.

• همان طور که ابتدا گفتیم متد setValue جریان پیشرفت کار در ProgressBar را مقداردهی می کند.

• در اینجا یک شمارنده i داریم که از صفر شروع می شود و 20 تا 20 به مقدار آن اضاف می شود تا این که مقدار آن به 2000 برسد.

i=0,20,40,60,80,100,120,…………,2000
jb.setValue(i);

• هر بار که حلقه تکرار می شود مقدار شمارنده i وارد متد setValue می کنیم.

• ابتدای کار minimum مقدار ProgressBar خود را 0 و maximum مقدار ProgressBar خود را 2000 قرار دادیم. این یعنی بازه مقدارهایی که می توانیم به ProgressBar خود دهیم بین 0 تا 2000 می باشد. حالا اگر شمارنده خود را طوری تنظیم کنیم که مقدار بین 0 تا 2000 را بشمارد و وارد متد setValue کند ، جریان پیشرفت کار بین 0% تا 100% خواهد بود.چرا که از صفر تا 2000 را شمارنده ما پیموده و وارد متد setValue کرده است. حال اگر شمارنده ما صفر تا 1000 را بپیماید و وارد متد setValue کند جریان پیشرفت کار ProgressBar ما بین 0 تا 50 درصد خواهد بود چرا که تنها نصف بازه تعیین شده را شمارش و پیموده است.

• پس تا اینجا فهمیدیم درصد پیشرفت جریان کار یک ProgressBar به شمارش شمارنده ما در بازه بین minimum تا maximum مقدار تعیین شده برای ProgressBar ما بستگی دارد، یعنی اگر مقدار شمارنده ما از minimum شروع شود و به مقدار آن در نهایت به maximum برسد یک فرآیند 0 تا 100 درصدی در ProgressBar خود شاهد خواهیم بود.

int i = 0;

• مقدار شمارنده i وقتی وارد حلقه می شویم در ابتدا صفر است. از طرفی مقدار minimum ما نیز صفر می باشد.این یعنی جریان روند ProgressBar ما از صفر درصد شروع می شود. چرا که ابتدا مقدار شمارنده و مقدار minimum ما برابر بوده است.

while (i

• از طرفی دیگر شرط حلقه ما این است که تا هنگامی که مقدار شمارنده i برابر 2000 نشده است دستورات درون بدنه حلقه را تکرار کن. این یعنی مقدار پیشرفت جریان ProgressBar تا 100 درصد خواهد بود چرا که مقدار شمارنده i در نهایت به 2000 که برابر مقدار maximum ما می باشد طبق شرط حلقه خواهد رسید. اگر شرط به جای 2000 عدد 1000 بود مقدار پیشرفت جریان ProgressBar ما 50 درصد می شد چرا که ما نصف کل بازه 0 تا 2000 که ابتدا برای ProgressBar خود تعیین کرده ایم را پیموده ایم

i = i + 20;

• مقدار شمارنده i به صورت 20 تا 20 تا افزایش می یابد.

• تا اینجا از روند کلی که ProgressBar ما پیشرفت می کند آشنا شدیم. یعنی دونستیم که اگر شمارنده بازه ی min تا max مقدار ProgressBar را بپیماید یک جریان صفر تا 100 درصد خواهیم داشت.خب سوالی که پیش میاد اینه که هنگام نمایش ProgressBar ما اعدادی بین صفر تا صد نمایش داده می شود، که گاهی این اعداد یکی یکی و گاهی دو تا دو تا و یا 10 تا 10 تا تغییر میکنند تا این که به عدد 100 برسند، میخوایم بدونیم چطور این اتفاق می افتد؟

آموزش گرافیک در جاوا
آموزش گرافیک در جاوا

• برای این که بدانیم جریان پیشرفت کار که از صفر درصد شروع می شود و به صد در صد خاتمه پیدا میکند، چندتا چندتا مقدار آن تغییر می کند از فرمول زیر استفاده می کنیم: maximum بیشترین مقداری که می توانیم به ProgressBar خود دهیم. vc مقداری که هربار به شمارنده اضاف می شود مثلا در مثال بالا این مقدار 20 است.

c تا c تا مقدار جریان پیشرفت ProgressBar ما تغییر خواهد کرد.

گرافیک در جاوا
گرافیک در جاوا

مثلا با توجه به مثال بالا:

• پس یکی یکی به مقدار جریان پیشرفت کار اضاف می شود تا این که به صد برسیم.

• ابتدا مقدار جریان پیشرفت کار بین 0 تا 100 درصد بود چرا که شمارنده از صفر تا 2000 را می پیمود. با محاسبه بالا می فهمیم که نمایش جریان پیشرفت بصورت زیر خواهد بود:

0% 1% 2% 3% 4% 5% 6% ………30% 31% 32% …………98% 99% 100%

همان طور که می بینید یکی یکی به مقدار جریان پیشرفت ProgressBar ما افزوده می شود تا به 100 درصد برسد.

دوستان این فرمول الکی ساختم!!! تنها برای درک بهتر برای تعیین مقدار پیشرفت کار یک ProgressBar اگه گیج تون میکنه کلا بیخیال توضیحات بشید و مثال رو چندبار ببینید و برای خودتون مقادیر رو تغییر بدید راحت روش کار دستتون میاد. حال اگر شمارنده ما به جای دستور زیر

i = i + 20;
i = i + 40;
آموزش فارسی جاوا
آموزش فارسی جاوا

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

0% 2% 4% 6% 8% 10% 12% ………30% 32% 34% 36% …………94% 96% 98% 100%

همان طور که می بینید دو تا دو تا به مقدار جریان پیشرفت ProgressBar ما افزوده می شود تا به 100 درصد برسد.

بازم تکرار میکنم اگر توضیحات بالا گیج کننده بود اصلا نگران نباشید! توضیحات رو بی خیال بشید و سراغ مثال و تغییر مقادیر مثال بروید یواش یواش دستتون میاد!

try { Thread.sleep(150); } catch (Exception e) { }

• با هربار تغییر شمارنده یک مکث 150 میلی ثانیه انجام می دهیم، چرا ؟! تا نمایش جریان پیشرفت ProgressBar را بتونیم ببینیم بدون مکث کردن آنقدر سریع انجام میشه که دیگه تا برنامه رو اجرا کردید می بینید که پیشرفت کار 100 درصد شده است!!

1. ProgressBarExample m = new ProgressBarExample(); 2. m.setVisible(true); 3. m.iterate();

1. از کلاس خود شی ایجاد کرده ایم. 2. با شی ایجاد شده از کلاس خود این متد را صدا زده ایم. این متد باعث میشه تمام اجزای گرافیکی ما نمایش داده شود. 3. خب برای اجرای روند پیشرفت کار این متد را صدا زده ایم. • خب میدونم شاید گیج شده اید!!! اون توضیحات رو برای روشن شدن مفاهیم مثال ها گفتم اگر اوضاع رو بهتر نکرده فقط مثال ، مثال و مثال ببنید و کار کنید!!! پیروز و موفق باشید

آموزش آسان و ساده زبان برنامه نویسی جاوا
آموزش آسان و ساده زبان برنامه نویسی جاوا

این جلسه آموزشی را می توانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید. این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید) لینک دانلود

آموزش زبان جاوا
آموزش زبان جاوا
آموزش زبان جاوا
آموزش زبان جاوا

نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است. برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرام ما شوید.

برچسب‌هاآموزش برنامه نویسی »آموزش گرافیک در زبان برنامه نویسی جاوا »آموزش جاوا »کلاس JProgressBarکلاس JProgressBar در جاواJProgressBarJProgressBar در جاواساخت ProgressBarProgressBarProgressBar در جاواساخت لود در جاواآموزش جاواجاواآموزش گرافیک در جاواگرافیک در جاوا
دسترسی سریع

فهرست مطلب

۱فهرست جلسات آموزش گرافیک در جاوا۲جلسه اول | معرفی Swing در جاوا۳جلسه دوم | کلاس JButton در جاوا۴جلسه سوم | کلاس JLabel در جاوا۵جلسه چهارم | کلاس JTextField درجاوا۶جلسه پنجم | کلاس JTextArea در جاوا۷جلسه ششم | کلاس JPasswordField در جاوا۸جلسه هفتم | کلاس JCheckBox در جاوا۹جلسه هشتم | کلاس JRadioButton در جاوا۱۰جلسه نهم | کلاس JComboBox در جاوا۱۱جلسه دهم | کلاس JTabel در جاوا۱۲جلسه یازدهم | کلاس JOptionPane در جاوا۱۳جلسه دوازدهم | ساخت منو گرافیکی در جاوا۱۴جلسه سیزدهم | کلاس JPopupMenu در جاوا۱۵جلسه چهاردهم | کلاس JSeparator در جاوا۱۶جلسه پانزدهم | کلاس JProgressBar در جاوا۱۷جلسه شانزدهم | کلاس JTree در جاوا۱۸جلسه هفدهم | کلاس JColorChooser۱۹جلسه هجدهم | کلاس JSlider در جاوا۲۰جلسه نوزدهم | کلاس JSpinner در جاوا۲۱جلسه بیستم | کلاس JPanel در جاوا۲۲جلسه بیست و یکم | کلاس JFileChooser در جاوا۲۳جلسه بیست و دوم | کلاس JLayeredPane در جاوا۲۴جلسه بیست و سوم | استفاده از ToolTip در جاوا۲۵جلسه بیست و چهارم |تغییر آیکون Frame در جاوا۲۶جلسه بیست و پنجم | کلاس Graphics در جاوا۲۷جلسه بیست و ششم | نمایش تصویر در Swing
ادامه مسیر

پیشنهاد جاواپرو

موضوع را با آموزش‌های مرتبط ادامه دهید و نکته‌های کاربردی را در مسیر خود نگه دارید

مشاهده دوره‌ها
مطالب پیشنهادی

ادامه مطالعه

xدسته‌بندی نشده
۱۱ دی ۱۳۹۸ مطالعه کوتاه

x

پادکست شماره 3 – راه های کسب درآمد از برنامه نویسی

مطالعه مطلب
پادکست شماره 3 - راه های کسب درآمد از برنامه نویسیپادکست
۲۹ اردیبهشت ۱۴۰۴ مطالعه کوتاه

پادکست شماره 3 - راه های کسب درآمد از برنامه نویسی

در این پادکست برنامه نویسی به شیوه ها و راه های کسب درآمد از برنامه نویسی پرداخته ایم. یک کاغذ و قلم بردارید و به پادکست گوش بدید.

مطالعه مطلب
پادکست شماره 2 - چگونه وارد فضای برنامه نویسی شویم؟پادکست
۲۹ اردیبهشت ۱۴۰۴ مطالعه کوتاه

پادکست شماره 2 - چگونه وارد فضای برنامه نویسی شویم؟

در این پادکست برنامه نویسی یاد میگیریم که چگونه وارد فضای برنامه نویسی شویم و تخصص برنامه نویسی را به دست آوریم.

مطالعه مطلب
جاواپرومرجع تخصصی یادگیری و توسعهٔ جاوا

تجربه‌ای منظم، ساده و حرفه‌ای برای یادگیری عمیق جاوا، Spring و مهندسی نرم‌افزار؛ قابل استفاده در موبایل، تبلت و دسکتاپ

یادگیری

همه دوره‌هاآموزش رایگانمسیر یادگیریمدرس‌ها

جاواپرو

درباره ماخدمات تخصصیدرخواست پروژهبلاگ فنی

پشتیبانی

تماس با ماپرسش‌های متداولقوانین و حریم خصوصیبروزرسانی‌های جاواپروثبت تیکت
خرید امنپرداخت فقط در درگاه رسمیپشتیبانی آموزشیمسیر ارتباط شفاف و پیگیری‌پذیردسترسی پایداروب‌اپ واکنش‌گرا روی همه دستگاه‌ها
© ۱۴۰۵ جاواپرو؛ همه حقوق محفوظ استتوسعه توسط پایاپینگ
خانهدوره‌هاسبد