در این قسمت تیم کدگیت را با آموزش JToggleButton در جاوا همراهی کنید. در ابتدا ToggleButton و موارد استفاده آن را توضیحی داده سپس کلاس JToggleButton در جاوا را معرفی میکنیم. در پایان با استفاده کلاس JToggleButton در جاوا، مثالی را پیاده سازی میکنیم. همچنین پیشنهاد میکنیم قبل از مطالعه این جلسه، آموزشهای گذشته گرافیک در جاوا را مطالعه کنید.
JToggleButton
Toggle Button دکمهای با دو وضعیت On و Off است این دکمه به کاربر اجازه تغییر وضعیت از On به Off و بالعکس را میدهد. در جاوا کلاسی به نام JToggleButton این دکمه را پیاده سازی کرده است. کلاسهای JCheckBox و JRadioButton زیرکلاسهای JToggleButton هستند(JCheckBox و JRadioButton وضعیت فعال یا غیر فعال دارند اما نحوه نمایش آنها متفاوت است). تصویر زیر یک JToggleButton در جاوا را نمایش میدهد.

برخی از متدهای کلاس JFileChooser به صورت زیر میباشد:
- ()JToggleButton : متد Constructor است و یک ToggleButton غیر فعال را بدون متن و عکس میسازد.
- (JToggleButton(Icon icon : متد Constructor است و یک ToggleButton غیر فعال را بدون متن و با عکس ورودی متد(icon) میسازد.
- (JToggleButton(Icon icon, boolean selected : متد Constructor است و یک ToggleButton را بدون متن و با عکس ورودی متد(icon) میسازد همچنین فعال و غیر فعال بودن آن بر اساس پارامتر ورودی Selected است.
- (JToggleButton(String text : متد Constructor است و یک ToggleButton غیر فعال را با متن ورودی و بدون عکس میسازد.
- (JToggleButton(String text, Icon icon : متد Constructor است و یک ToggleButton غیر فعال را با متن و عکس ورودی متد میسازد.
مثال JToggleButton در جاوا
برای پیاده سازی مثالی از JToggleButton در جاوا، یک صفحهای را در نظر گرفتیم که درون آن Toggle Button قرار دارد و هنگام کلیک بر روی آن، متن Toggle Button به On یا Off تغییر میکند. خروجی کد این برنامه شبیه به تصویر در قسمت بالا میباشد. کد این مثال به صورت زیر است:
public class JToggleButtonExample extends JFrame implements ItemListener { public static void main(String[] args) { new JToggleButtonExample(); } private JToggleButton button; JToggleButtonExample() { setTitle("CodeGate"); setLayout(new FlowLayout()); setJToggleButton(); setAction(); setSize(200, 200); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } private void setJToggleButton() { button = new JToggleButton("ON"); add(button); } private void setAction() { button.addItemListener(this); } public void itemStateChanged(ItemEvent eve) { if (button.isSelected()) button.setText("OFF"); else button.setText("ON"); } }
متد itemStateChanged برای زمانی است که بر روی Toggle Button کلیک میکنیم و متن دکمه تغییر میکند. متدهای دیگر برای ساخت Toggle Button در صفحه Frame است. کلاس FlowLayout نحوه چینش اجزا یا کمپوننتها را درون Frame تنظیم میکند. این کلاس را در آموزشهای آینده توضیح خواهیم داد.
خیلی خوب بود