در این قسمت تیم کدگیت را با آموزش JProgressBar در جاوا همراهی کنید. در ابتدا JProgressBar را معرفی کرده و در ادامه آموزش مثالی از این کلاس خواهیم زد. پیش نیاز این آموزش شامل موارد زیر میباشد:
JProgressBar در جاوا
بسیاری از نرمافزارهای روز دنیا برای نمایش مقدار پیشرفت یک Task از Progressbar استفاده میکنند. میتوان گفت Progressbar یک شی گرافیکی برای نمایش میزان پیشرفت یک عملیات (Task) است. در جاوا کلاس JProgressBar برای نمایش یک ProgressBar در نظر گرفته شده است.
متدهای JProgressBar در جاوا
مانند تمام کلاسهای جاوا، JProgressBar نیز متدهایی جهت استفاده از آنها در کد خود آماده کرده است. در زیر به معرفی متدهای مهم این کلاس پرداختیم:
- ()JProgressBar : این متد Constructor بوده و برای ساخت یک ProgressBar به صورت افقی استفاده میشود.
- (JProgressBar(int min, int max : این متد Constructor بوده و برای ساخت یک ProgressBar به صورت افقی و با محدوده Min و Max میباشد.
- (JProgressBar(int orient : این متد Constructor بوده و با توجه به ورودی ProgressBar، آن را به صورت عمودی یا افقی میسازد.
- (JProgressBar(int orient, int min, int max: این متد Constructor بوده و ProgressBar را با محدوده Min و Max و به صورت افقی یا عمودی (با توجه به ورودی orient) میسازد.
- (setStringPainted(boolean b: این متد برای نمایش دادن یا ندادن میزان پیشرفت یک ProgressBar به صورت متنی است (عددی میزان درصد پیشرفت را نمایش میدهد).
- (setValue(int value: این متد عدد(میزان پیشرفت) ProgressBar را تغییر میدهد.
مثال JProgressBar در جاوا
در این قسمت یک مثال از ProgressBar زده و آن را به طور کامل پیاده سازی میکنیم. در این مثال یک کلاس JProgressBar را ساخته و درون JFrame نمایش میدهیم. پس از ایجاد ProgressBar یک Thread ایجاد کرده و در آن مقدار پیشرفت ProgressBar را تغییر میدهیم. کد این مثال به صورت زیر است:
public class ProgressBarExample extends JFrame {
JProgressBar jb;
int i = 0, num = 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 <= 2000) {
jb.setValue(i);
i = i + 20;
try {
Thread.sleep(150);
} catch (Exception e) {
}
}
}
public static void main(String[] args) {
ProgressBarExample m = new ProgressBarExample();
m.setVisible(true);
m.iterate();
}
}
در کد بالا یک متد به نام iterate نوشتیم که شامل Thread ما بوده و مقدار ProgressBar را تغییر میدهد. یک Constructor برای کلاس ProgressBarExample نوشتهایم که برای نمایش و ایجاد Frame و ProgressBar میباشد. در آخر Main برنامه را با صدا زدن متدهای نوشته شده، ایجاد کردیم. خروجی برنامه به صورت تصویر زیر است: