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

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

کلاس JSpinner اجزای (component) گرافیکی است که به کاربر اجازه می دهد یک عدد یا یک مقدار را از یک دنباله مرتب از پیش تعیین شده انتخاب کند. برای درک بهتر از ظاهر

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

خلاصه مطلب

کلاس JSpinner اجزای (component) گرافیکی است که به کاربر اجازه می دهد یک عدد یا یک مقدار را از یک دنباله مرتب از پیش تعیین شده انتخاب کند. برای درک بهتر از ظاهر
نوع محتوامقاله آموزشی
موضوعآموزش برنامه نویسی »
زمان مطالعه۸ دقیقه
آخرین ویرایش۲۸ آذر ۱۴۰۰

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

جلسه اول | معرفی 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

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

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

کلاس JSpinner اجزای (component) گرافیکی است که به کاربر اجازه می دهد یک عدد یا یک مقدار را از یک دنباله مرتب از پیش تعیین شده انتخاب کند. برای درک بهتر از ظاهر JSpinner تصویر(1) را مشاهده کنید:

آموزش گرافیک در جاوا
آموزش گرافیک در جاوا
سازنده های jspinner در جاوا
سازنده های jspinner در جاوا

• سازنده های پرکاربرد کلاس JSpinner :• متدهای پرکاربرد کلاس JSpinner :

متدهای JSpinner در جاوا
متدهای JSpinner در جاوا

مثال:

package javalike ;import javax.swing.*; public class SpinnerExample { public static void main(String[] args) { JFrame f=new JFrame("Spinner Example"); SpinnerModel value = new SpinnerNumberModel(5, //initial value 0, //minimum value 10, //maximum value 1); //step JSpinner spinner = new JSpinner(value); spinner.setBounds(100,100,50,30); f.add(spinner); f.setSize(300,300); f.setLayout(null); f.setVisible(true); } }

خروجی:تصویر(2)

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

توضیحات:

SpinnerModel value = new SpinnerNumberModel(5, 0, 10, 1);

• برای ایجاد یک مدل داده ای برای Spinner خود از کلاس SpinnerModel شی ایجاد می کنیم. • پارامتر سازنده کلاس SpinnerModel به ترتیب عبارت است از : 1. عدد 5 برای مقداردهی اولیه به Spinner می باشد. هنگام نمایش Spinner مقدار انتخاب شده پیشفرض آن 5 می باشد. 2. عدد 0 minimum مقدار Spinner ما می باشد. یعنی مقدار Spinner را نمی توانیم کمتر از عدد صفر تغییر دهیم. 3. عدد 10 maximum مقدار Spinner ما می باشد. یعنی مقدار Spinner را نمی توانیم بیشتر از عدد ده تغییر دهیم. 4. با توجه به موارد 2 و 3 ، محدوده مقادیر Spinner ما بین 0 تا 10 می باشد و تنها در این بازه می توانیم مقادیر Spinner را تغییر دهیم. 5. عدد 1 گام های تغییر مقدار Spinner ما را تعیین می کند. مثلا عدد 1 باعث می شود یکی یکی مقادیر Spinner خود را تغییر دهیم. اگر مثلا عدد 3 بود سه تا سه تا مقادیر Spinner تغییر میکرد.

JSpinner spinner = new JSpinner(value);

• از کلاس JSpinner شی ایجاد کرده و شی value که از نوع SpinnerModel می باشد و مدل داده ای Spinner را مشخص می کند به عنوان پارامتر به سازنده کلاس JSpinner داده ایم.

1. spinner.setBounds(100,100,50,30); 2. f.add(spinner); 3. f.setSize(300,300); 4. f.setLayout(null); 5. f.setVisible(true);

1. تعیین مختصات و ابعداد spinner 2. اضاف کردن spinner به فریم 3. تعیین اندازه فریم 4. چون فعلا از طرح بندی خاصی استفاده نکردیم مقدار پارامتر این متد را null قرار می دهیم. 5. برای نمایش فریم و تمام اجزای گرافیکی از این متد استفاده می کنیم. مثال:

package javalike ;import javax.swing.*;import javax.swing.event.*;public class SpinnerExample { public static void main(String[] args) { JFrame f = new JFrame("Spinner Example"); final JLabel label = new JLabel(); label.setHorizontalAlignment(JLabel.CENTER); label.setSize(250, 100); SpinnerModel value = new SpinnerNumberModel(5, // initial value 0, // minimum value 10, // maximum value 1); // step JSpinner spinner = new JSpinner(value); spinner.setBounds(100, 100, 50, 30); f.add(spinner); f.add(label); f.setSize(300, 300); f.setLayout(null); f.setVisible(true); spinner.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { label.setText("Value : " + ((JSpinner) e.getSource()).getValue()); } }); } }

خروجی: تصویر(3)

کاربرد spinner در جاوا
کاربرد spinner در جاوا

توضیحات:

1. label.setHorizontalAlignment(JLabel.CENTER); 2. label.setSize(250, 100);
spinner.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { label.setText("Value : " + ((JSpinner) e.getSource()).getValue()); } });

• متد addChangeListener برای افزودن یک ChangeListener به spinner ما کاربرد دارد. • ChangeListener یک اینترفیس است که از طریق متد stateChanged که در بدنه آن قرار دارد رویدادهای مربوط به تغییر مقدار spinner را دریافت می کند. • با هر بار رخ دادن رویدادی روی spinner متد stateChanged صدا زده می شود و دستورات درون آن اجرا می شود.

label.setText("Value : "+ ((JSpinner) e.getSource()).getValue());

• این دستور مقدار انتخاب شده spinner را درون label نمایش می دهد. • خب چطور این کار انجام می شود؟! وقتی رویدادی رخ می دهد درون شی e که از نوع کلاس ChangeEvent هستش ریخته می شود.حال ما از طریق شی e متد getSource را صدا زده ایم ، این متد همون طور که از اسمش پیداست میگرده منبع رویداد ( منظور همون اجزای گرافیکی که رویدادی روی آن آنها اتفاق افتاده است) را پیدا میکند و بصورت یک شی از نوع کلاس Object (پدر همه کلاس هاست) برمیگرداند. یک مشکل کوچک پیش اومده! مقدار برگردانده شده از نوع کلاس Object می باشد و از طرفی اجزای گرافیکی ما از نوع کلاس JSpinner هستش! چکار باید کنیم؟! باید شی از نوع کلاس Object را به شی از نوع کلاس JSpinner تبدیل می کنیم.

چگونه؟ با استفاده از روش casting یا تبدیل نوع، به سادگی نوع کلاس خود را درون پرانتز در کنار شی کلاسی که قصد داریم آن را تبدیل کنیم قرار می دهیم. مثلا در اینجا کلاس JSpinner درون پرانتز در کنار e.getSource که شی کلاس Object را برمیگرداند قرار داده ایم. حالا بعد از تبدیل شی از نوع کلاس Object به شی از نوع کلاس JSpinner به راحتی می توانیم متد getValue را صدا بزنیم.متد getValue مقدار انتخاب شده Spinner را برمی گرداند. حال از طریق شی label متد setText را صدا زده و رشته "Value : " همراه با مقدار spinner را درون لیبل نمایش می دهیم. • اگر توضیحات گیج کننده بود نگران نباشید!! تنها با نگاه کردن به کد و تغییر دادن کد روش کار دستتون میاد. شما میگید مثال رو نگاه کن و دستکاری کن! تا یاد بگیری! مثلا چکار کنم؟! ی نمونه دستکاری که خودم انجام دادم که مفهوم دستور زیر رو یادبگیرم را در مثال بعدی نگاه کنید:

((JSpinner) e.getSource()).getValue()

مثال:

package javalike ;import javax.swing.*;import javax.swing.event.*;public class SpinnerExample { public static void main(String[] args) { JFrame f = new JFrame("Spinner Example"); SpinnerModel value = new SpinnerNumberModel(5, // initial value 0, // minimum value 10, // maximum value 1); // step JSpinner spinner = new JSpinner(value); spinner.setBounds(100, 100, 50, 30); f.add(spinner); f.setSize(300, 300); f.setLayout(null); f.setVisible(true); spinner.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { System.out.println(e.getSource()); System.out.println((JSpinner) e.getSource()); System.out.println(((JSpinner) e.getSource()).getValue()); } }); } }

خروجی: بعد از اجرای برنامه اگر مقدار spinner را به عدد 6 تغییر دهیم خروجی به صورت تصویر(4) خواهد بود:

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

• مقدار پیشفرض این spinner ابتدا 5 بود که به عدد 6 تغییر دادیم که نتیجه این تغییر در محیط کنسول به صورت زیر است: خروجی در کنسول:

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

• خروجی سبز رنگ نتیجه دستور زیر می باشد، خروجی سبز آدرس شی است که متد getSource برگردانده است.

System.out.println(e.getSource());

• خروجی آبی رنگ نتیجه دستور زیر می باشد، خروجی آبی آدرس شی بعد از عمل casting است.

System.out.println(((JSpinner) e.getSource()));

• خروجی صورتی رنگ نتیجه دستور زیر می باشد:

System.out.println(((JSpinner) e.getSource()).getValue());

توضیحات:

System.out.println(e.getSource());

• این دستور منبعی که رویدادی روی آن رخ داده است را برمیگرداند و چاپ می کند. • متد getSource منبع رویداد رخ داده را برمی گرداند. • این منبع میتونه یک اجزای گرافیکی نظیر JSpinner و... باشد. • همان طور که در جلسات گذشته گفتیم کلاس Object پدر همه کلاس ها می باشد. به عبارتی همه کلاس های درون جاوا زیر کلاس و فرزند کلاس Object می باشد. • خب getSource شی که برمیگرداند از نوع کلاس Object می باشد. این شی میتونه یکی از اجزای گرافیکی در جاوا باشد ولی نمی توانیم مستقیم به متدها و ویژگی های آن اجزای گرافیکی دسرسی داشته باشیم و باید حتما عمل casting را انجام دهیم. برای درک سطح دسرسی شی که این متد بدون عمل casting برای ما برمیگرداند تصویر(5) را مشاهده کنید:

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

همان طور که در تصویر(5) مشاهده می کنید شی که این متد برمیگرداند فقط به ویژگیها و رفتارهای کلاس Object دسرسی دارد و خبری از متدها و ویژگیهای اجزای گرافیکی خاصی نیست! حال عمل casting را به صورت زیر انجام میدهیم:

System.out.println(((JSpinner) e.getSource()));

• این دستور منبع رویدادی که متد getSource برمی گرداند را به شی از کلاس JSpinner تبدیل می کند. • حالا سطح دسرسی منبع دریافت شده و تبدیل آن به JSpinner را در تصویر(6) مشاهده کنید:

jspinner در جاوا
jspinner در جاوا

• همان طور که در تصویر(6) مشاهده می کنید با عمل casting به انبوهی از متدهای اجزای گرافیکی از جمله به متد getValue دسرسی داریم. • جالب است بدانید که خروجی دو دستور زیر شبیه به هم هستند اما در عمل متفاوت! :

System.out.println(e.getSource()); System.out.println(((JSpinner) e.getSource()));

• حال با صدا زدن متد getValue مقدار spinner را دریافت می کنیم:

System.out.println(((JSpinner) e.getSource()).getValue());

خب چطور بود؟! پیشنهاد میکنم هنوز مثال های بیشتری ببینید کسی با یکی دوتا مثال برنامه نویس نشده!پیروز و موفق باشید

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

لینک دانلود

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

برچسب‌هاآموزش برنامه نویسی »آموزش گرافیک در زبان برنامه نویسی جاوا »آموزش جاوا »کلاس JSpinnerآموزش JSpinnerکاربرد JSpinnerمثال JSpinnerمتدهای JSpinnerنمونه کد جاواSpinner در جاواsetSize در جاواsetBounds در جاواsetVisible در جاوانمونه مثال گرافیک در جاوامثال گرافیک در جاوا
دسترسی سریع

فهرست مطلب

۱فهرست جلسات آموزش گرافیک در جاوا۲جلسه اول | معرفی 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۲۸این جلسه آموزشی را می توانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)۲۹لینک دانلود۳۰نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است. برای با خبر شدن از جدیدترین مطالب آموزشی جاوا عضو کانال تلگرام ما شوید.
ادامه مسیر

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

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

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

ادامه مطالعه

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

x

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

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

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

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

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

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

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

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

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

یادگیری

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

جاواپرو

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

پشتیبانی

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