menusearch
javapro.ir
جستجو
۱۳۹۶/۳/۶ شنبه
(1)
(0)
جلسه هفتم - کلاس JCheckBox در جاوا
جلسه هفتم - کلاس JCheckBox در جاوا
برای ایجاد یک چک باکس از کلاس JCheckBox شی ایجاد می کنیم. حالا این چک باکس چه شکلی هست؟! و کاربردش چیه؟! گزینه های مربع شکل که به با تیک زدن آنها کار خاصی را برای ما انجام می دهند چک باکس هستند. مثال: تصویر(1)

ساخت چک باکس در جاوا

در تصویر(1) بخشی که با خطوط قرمز رنگ مشخص شده چک باکس (checkbox) می باشد. 
•    چک باکس ها دو گزینه روشن (turn) یا خاموش (off) دارند، با کلیک کردن روی یک چک باکس (checkbox) حالت روشن(on) و خاموش (off) آن تغییر می کند. گزینه روشن معادل مقدار true و گزینه خاموش معادل مقدار false می باشد.



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

سازنده های کلاس JCheckBox

مثال:

package swing_javalike;
import javax.swing.*;  
public class CheckBoxExample  
{  
     CheckBoxExample(){  
        JFrame f= new JFrame("CheckBox Example");  
        JCheckBox checkBox1 = new JCheckBox("C++");  
        checkBox1.setBounds(100,100, 100,50);  
        JCheckBox checkBox2 = new JCheckBox("Java", true);  
        checkBox2.setBounds(100,150, 100,50);  
        f.add(checkBox1);  
        f.add(checkBox2);  
        f.setSize(400,400);  
        f.setLayout(null);  
        f.setVisible(true);  
     }  
public static void main(String args[])  
    {  
    new CheckBoxExample();  
    }}  

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


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


•    در تصویر(2) ما دو چک باکس داریم که متن اولی c++ ، تیک نخورده یا false و متن دومی Java ، تیک خورده یا true می باشد.

 
JCheckBox checkBox1 = new JCheckBox("C++");
checkBox1.setBounds(100,100, 100,50);

 
•    ایجاد یک چک باکس با متن ‘’C++”
•    تعیین مختصات و ابعداد چک باکس
 
JCheckBox checkBox2 = new JCheckBox("Java", true);
checkBox2.setBounds(100,150, 100,50);

 
•    ایجاد یک چک باکس با متن “Java” و انتخاب پارامتر true یعنی این که این چک باکس بصورت تیک خورده ایجاد می شود.
•    تعیین مختصات و ابعداد چک باکس

f.add(checkBox1);
f.add(checkBox2);
f.setSize(400,400);

 
•    اضاف کردن چک باکس ها به فریم
•    تعیین ابعاد فریم 
f.setLayout(null);
 
•    چون فعلا از طرح بندی خاصی نمیخوایم استفاده کنیم پارامتر این متد را null قرار می دهیم.
 
f.setVisible(true);
 
•    برای نمایش فریم و تمام اجزای گرافیکی باید پارامتر این متد true باشد.
 
مثال:
 
package javalike;

import javax.swing.*;

import java.awt.event.*;

public class CheckBoxExample {
    JCheckBox checkbox1, checkbox2;
    final JLabel label;

    CheckBoxExample() {
        JFrame f = new JFrame("CheckBox Example");
        label = new JLabel();
        final JLabel label2 = new JLabel();
        label.setBounds(100, 20, 400, 100);
        label2.setBounds(100, 180, 400, 100);
        checkbox1 = new JCheckBox("C++");
        checkbox1.setBounds(150, 100, 100, 50);
        checkbox2 = new JCheckBox("Java");
        checkbox2.setBounds(150, 150, 100, 50);
        f.add(checkbox1);
        f.add(checkbox2);
        f.add(label);
        f.add(label2);
        checkbox1.addItemListener(new ItemListener() {
            public void itemStateChanged(ItemEvent e) {
                if (e.getStateChange() == 1)
                    label.setText("C++ Checkbox: " + " checked");
                else
                    label.setText("C++ Checkbox: " + "unchecked");
            }
        });
        checkbox2.addItemListener(new ItemListener() {
            public void itemStateChanged(ItemEvent e) {
                System.out.println(e.getStateChange());
                if (e.getStateChange() == 1)
                    label2.setText("Java Checkbox: " + " checked");
                else
                    label2.setText("Java Checkbox: " + "unchecked");

            }
        });
        f.setSize(400, 400);
        f.setLayout(null);
        f.setVisible(true);
    }

    public static void main(String args[]) {
        new CheckBoxExample();
    }

}

خروجی: هنگام اجرای برنامه خروجی بصورت تصویر(3) خوهد بود:


آموزش فارسی گرافیک در جاوا
حال با کلیک کردن یا تیک زدن چک باکس C++ خروجی بصورت تصویر (4) خواهد شد:

کلاس JCheckBox در جاوا

همان طور که در تصویر (4) مشاهده می کنید، در لیبل بالای فریم  متن نمایش داده شده که بیانگر آن است که چک باکس C++ تیک خورده یا on می باشد. اگر تیک چک باکس C++ را برداریم خروجی بصورت تصویر(5) خواهد شد:

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

همان طور که در تصویر(5) مشاهده می کنید هنگامی که تیک چک باکس C++ را بر می دارید در لیبل بالای صفحه پیامی چاپ میشه که بیانگر این است که چک باکس off یا تیکش برداشته شده است. برای چک باکس Java نیز همین طور اتفاق می افتد و محل نمایش پیام در لیبل دیگر پایین صفحه می باشد. تصویر(6) و (7)

اموزش از راه دور جاوا


آموزش زبان جاوا
توضیحات برنامه:
checkbox1.addItemListener(new ItemListener() {
            public void itemStateChanged(ItemEvent e) {
                if (e.getStateChange() == 1)
                    label.setText("C++ Checkbox: " + " checked");
                else
                    label.setText("C++ Checkbox: " + "unchecked");
            }
        });
•    ما وقتی روی یک چک باکس کلیک می کنیم یک رویداد یا event رخ می دهد، نظیر اکشن ها در Button و.. 
•    ما با استفاده از متد addItemListener این رویدادها را به چک باکس خود اضاف می کنیم.
•    پارامتر متد addItemListener  شی ای از نوع اینترفیس ItemListener می باشد.
•    ما بصورت مستقیم شی از نوع اینترفیس ItemListener را ساخته و جایگزین پارامتر متد addItemListener می کنیم.
•    بعد شی سازی از اینترفیس ItemListener ، بعد از سازنده این اینترفیس دو آکولاد بازو بسته می کنیم و میان این دو آکولاد  متد itemStateChanged که دارای پارامتری از نوع ItemEvent می باشد را Override می کنیم. 
•    بعد از آکولاد اینترفیس ItemListener پرانتز متد addItemListener را قرار داده و علامت " ; " قرار می دهیم.
•    چی شد؟ چی شد؟! جچوری شد؟! :-)
•    احتمالا شما رو گیج کرده باشم! در کل شما اگر میخواید رویدادی که با کلیک کردن روی چک باکس شما رخ می دهد را دریافت کنید و عمل مورد نظر را در واکنش به آن رویداد رخ داده اجرا کنید باید با شی ایجاد شده از چک باکس خود متد addItemListener را صدا بزنید:
checkbox1.addItemListener(ItemListener arg)
 
•    حالا شما باید از اینترفیس  ItemListener شی ایجاد کنید و جایگزین پارامتر arg کنید.چرا ؟! چون پارامتر arg از نوع اینترفیس ItemListener می باشد.
•    هنگام شی سازی مستقیم از اینترفیس ItemListener تمام موارد بازنویسی یا override متد itemStateChanged و آکولادها و... به صورت خودکار ایکلیپس براتون انجام میده نگران نباشید . :-)
 
public void itemStateChanged(ItemEvent e) {
                if (e.getStateChange() == 1)
                    label.setText("C++ Checkbox: " + " checked");
                else
                    label.setText("C++ Checkbox: " + "unchecked");
          
 }

 
•    این متد مثل سرباز آماده ای ایستاده که اگر شما کوچک ترین کلیکی بر روی چک باکس خود کنید ، رویداد رخ داده که همان کلیک بر روی چک باکس هستش را دریافت کند.
if (e.getStateChange() == 1)
 
•    این دستور حالت رویدادی که چک باکس شما تولید کرده را بررسی می کند.
•    کلیک کردن بر روی یک چک باکس از دو حالت خارج نیست :
1.    اگر کلیک انجام شده روی چک باکس موجب روشن شدن(on) یا true شدن یا همون تیک خوردن چک باکس شود رویدادی که تولید می شود عدد " 1 " می باشد. 
2.     در غیر این صورت یعنی اگر کلیک صورت گرفته روی چک باکس موجب برداشته شدن تیک یا false شدن انتخاب چک باکس شود ، رویدادی که تولید می شود برابر عدد " 2 " می شود.
 
    if (e.getStateChange() == 1)
                    label.setText("C++ Checkbox: " + " checked");
                else
                    label.setText("C++ Checkbox: " + "unchecked");
            }

 
•    خب در کد بالا هم گفته شده اگر حالت رویداد رخ دادن در اثر کلیک کردن روی چک باکش برابر عدد 1 بود دستور زیر اجرا شود:
 
label.setText("C++ Checkbox: " + " checked");
 
•    این دستور متن درون پرانتز را در label ما نمایش می دهد.
 
else
label.setText("C++ Checkbox: " + "unchecked");
 
•    در غیر این صورت یعنی اگر حالت رویداد رخ داده برابر عدد 2 بود متن درون پرانتز را در label نمایش بده.
•    سایر دستورات درون کد هم مشابه هستش که درموردشون در این جلسه و جلسات قبل توضیح داده شده است. تنها راه یادگیری این مفاهیم اینه که به خودتون سخت نگیرید!! شکل قالب دریافت رویدادهای این چک باکس بد قیافه همینه!در هر مکان و هر زمان خواستید در برنامه تون چک باکس بسازید و براش عمل خاصی رو تعریف کنید باید از این دستورات ثابت استفاده کنید که نیاز به حفظ کردنشون هم نیست!! نیاز داشتید کافیه با ی جست و جوی کوتاه این کدها رو پیدا کنید و ازشون استفاده کنید! تنها شما فقط باید یادبگیرید که دقیقا چه میخواید!!!!!

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

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

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

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

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

0 نظر
طراحی سایتطراحی سایتسایت سازسایت سازفروشگاه سازفروشگاه ساز