معرفی کلاس Jlabel کتابخانه ی سویینگ زبان برنامه نویسی جاوا


در این آموزش قصد داریم تا با یکی دیگر از کلاس های معروف کتابخانه Swing در زبان برنامه نویسی جاوا تحت عنوان JLabel آشنا شویم. در ابتدا یک فولدر جدید روی دسکتاپ تحت عنوان 72nd Session ایجاد کرده و با استفاده از نرم افزار Notepad یک فایل تحت عنوان jlabel با پسوند .java ایجاد می کنیم. در ادامه مطابق با آموزش های گذشته حداقل کدهای جاوا برای ایجاد یک پنجره ساده را وارد می سازیم:

import javax.swing.JFrame;
public class jlabel{
    public static void main (String[] args){
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
        frame.setBounds(400, 100, 750, 500);
    }
}

همانطور که در کد فوق می بینیم، نام کلاس این پروژه همانند نام فایلی جاوایی است که پیش از این ایجاد کردیم. حال همانطور که در آموزش های گذشته توضیح داده شد، ابتدا پروژه خود را Compile کرده سپس آن را اجرا می کنیم:

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

import javax.swing.JFrame;
import javax.swing.JLabel;
public class jlabel{
    public static void main (String[] args){
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
        frame.setBounds(400, 100, 750, 500);
    }
}

همانطور که در کد فوق می بینیم، در خط دوم کد پس از وارد کردن کلاس JFrame به پروژه خود، حال اقدام به وارد یا import کردن کلاس دیگری تحت عنوان JLabel نموده ایم (توجه داشته باشید که بزرگ و کوچک نوشتن حروف این کلاس ها بسیار مهم است).

در ادامه یک شیئ از روی کلاس JLabel تحت عنوان mySentence به معنی "جمله من" می سازیم (توجه داشته باشیم که این نام کاملا اختیاری است):

import javax.swing.JFrame;
import javax.swing.JLabel;
public class jlabel{
    public static void main (String[] args){
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
        frame.setBounds(400, 100, 750, 500);
        JLabel mySentence = new JLabel("SokanAcademy Java Tutorials");
    }
}

همانطور که در کد فوق می بینیم، ابتدا نام کلاس مد نظر را نوشته سپس نامی همچون mySentence برای آن انتخاب می کنیم. سپس یک علامت مساوی قرار داده و از آنجا که می خواهیم یک شیئ جدید ایجاد کنیم پس کلیدواژه new را می نویسیم و در نهایت هم نام کلاس را به صورت JLabel(); می نویسیم.

همانطور که می بینیم داخل پرانتز های مرتبط با این خط از کد، هر عبارتی که بخواهیم روی صفحه نمایش داده شود را می نویسیم که در این مثال عبارت SokanAcademy Java Tutorials را در نظر گرفته ایم. توجه داشته باشیم از آنجا که متن نوشته شده یک string است، از این رو این string می بایست داخل دو علامت " " قرار گیرد. حال پس از Compile کردن پروژه خود، مجدد آن را اجرا می کنیم تا متن نوشته شده را مشاهده کنیم:

می بینیم که هیچ چیزی نمایش داده نمی شود و علت هم آن است که ما این شیئ جدیدی که ساخته ایم را به پنجره اصلی برنامه خود اصطلاحاً add یا "اضافه" نکرده ایم. برای این منظور، کدهای فوق را به صورت زیر تکمیل می کنیم:

import javax.swing.JFrame;
import javax.swing.JLabel;
public class jlabel{
    public static void main (String[] args){
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
        frame.setBounds(400, 100, 750, 500);
        JLabel mySentence = new JLabel("SokanAcademy Java Tutorials");
        frame.add(mySentence);
    }
}

همانطور که می بینیم در خط بعد ابتدا نام شیئی که از روی کلاس JFrame ایجاد کرده را نوشته سپس متدی تحت عنوان add(); را به آن ضمیمه کرده ایم. حال داخل پرانتزهای متد add نام شیئی که از روی کلاس JLabel ایجاد کردیم را می نویسیم که در این مثال mySentence است. مجدد برنامه را Compile و اجرا می کنیم:

می بینیم که نوشته مد نظر روی پنجره قرار گرفت.

حال اگر بخواهیم این نوشته را در مرکز پنجره قرار دهیم می بایست پارامتر مرتبط با این کار را به نوشته خود که داخل پرانتز قرار دارد نیز اضافه کنیم. برای این منظور کدهای فوق را به صورت زیر تکمیل می کنیم:

import javax.swing.JFrame;
import javax.swing.JLabel;
public class jlabel{
    public static void main (String[] args){
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
        frame.setBounds(400, 100, 750, 500);
        JLabel mySentence = new JLabel("SokanAcademy Java Tutorials", JLabel.CENTER);
        frame.add(mySentence);
    }
}

همانطور که مشاهده می شود، پس از عبارت SokanAcademy Java Tutorials یک کاما قرار داده سپس پارامتری تحت عنوان JLabel.CENTER که مرتبط با کلاس JLabel است را نوشته ایم. مجدد برنامه خود را Compile و اجرا می کنیم:

می بینیم که عبارت مد نظر در وسط پنجره قرار گرفت. حال ممکن است این سوال پیش بیاید که به چه شکل می توان یک Tooltip برای نوشته خود در نظر گرفت. به طور کلی منظور از Tooltip نوشته یا هر چیزی است که به صورت پیش فرض مخفی بوده و چنانچه نشانگر موس خود را روی متنی که برای آن Tooltip در نظر گرفته ایم قرار گیرد، متن مد نظر نمایش داده می شود و به محض آنکه نشانگر موس از روی متن ما کنار برود Tooltip هم اصطلاحاً Hide یا "پنهان" خواهد شد.

به منظور افزودن Tooptip به یک JLabel می بایست مطابق با کدهای زیر عمل کنیم:

import javax.swing.JFrame;
import javax.swing.JLabel;
public class jlabel{
    public static void main (String[] args){
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
        frame.setBounds(400, 100, 750, 500);
        JLabel mySentence = new JLabel("SokanAcademy Java Tutorials",JLabel.CENTER);
        mySentence.setToolTipText("This is a Tooltip!");
        frame.add(mySentence);
    }
}

همانطور که در کد فوق می بینیم، برای افزودن یک Tooltip ابتدا نام شیئی که می خواهیم Tooltip به آن اضافه شود را نوشته سپس متدی تحت عنوان setToolTipText(); را به آن ضمیمه می کنیم و از آنجا که پارامتر در نظر گرفته شده برای این متد یک string است، از این روی می بایست هر چیزی که می خواهیم نمایش داده شود را داخل دو علامت " " قرار دهیم. در این مثال متن This is a Tooltip! را در نظر گرفته ایم. مجدد برنامه خود را به ترتیب Compile و Run می کنیم:

همانطور که در تصویر فوق مشاهده می شود، به محض قرار دادن نشانگر موس روی متن اصلی، Tooltip در نظر گرفته شده نمایش داده می شود. در واقع از Tooltip جهت راهنمایی کاربران استفاده می شود که مثلاً یک دکمه یا یک متن مربوط به چیست و یا چه کاری انجام می دهد.

هشدار
نیاز به توضیح نیست که زبان برنامه نویسی Java، زبانی سطح بالا و بسیار قدرتمند و گسترده است و مطالبی که در فصل پانزدهم دوره ی آموزش مقدماتی زبان برنامه نویسی جاوا ارائه گردید، صرفا به منزله ی مقدمه ای بر گرافیک در زبان جاوا است. هدف در این فصل صرفا آشنا ساختن دانشجویان با کلاس های مختلف مرتبط با طراحی GUI با استفاده از زبان جاوا بوده است که امیدواریم توانسته باشیم در این مسیر به خوبی گام برداریم. برنامه نویسان جاوا خواهند توانست بسته به نیاز خود در طراحی رابط های گرافیکی کاربر، از کلاس های مختلف کتابخانه ی Swing استفاده نموده و نرم افزارهای کاربردی تحت دسکتاپ برای پلتفرم های مختلفی همچون ویندوز، لینوکس، مکینتاش و ... طراحی نمایید.
لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۶/۲۶
واقعا ممنونم.
بسیار استفاده کردیم.
کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۱/۲۸
متن درست شعر اینه(«میدونستم فاصله زیادی قبول نمیکنه):
خواستم شکری کنم استادرا---------------------------------شکر،خودشاکر استاد یافتم!
کاربر میهمان
کاربر میهمان
۱۳۹۵/۰۱/۲۸
به پایان آمد این دفتر، حکایت همچنان باقیست.واقعا ممنون بابت آموزش خوب و اسون و جامع و گل گلابتون این آموزش دقیقا چیزی بود که من دنبالش میگشتم چون کم تر جای یا تقریبا هیچ جایی نبود که همچین ساده و جامع در مورد یک زبان برنامه نمویسی آموزش بده در ابتدای کار از شنیدن نام برنامه نویسی لرزه به تنم می افتاد و اون برتر از 7 خوان رستم میدیدم اما خب به کمک شما خوان هارو یکی یکی زیر زدیم و به پایان این دوره رسیدم. هرقدر که بنویسم و تشکر کنم بی فایدست و نمیشه احساس شکرگذاری من نسبت به این مجموعه و اقای بهزاد مرادی بیان کنه اما خب باید به یک تشکر کردن جانانه اکتفا کرد

خواستم شکری کنم استاد را شکر ،خود شاکر استادم یافتم!
کاربر میهمان
کاربر میهمان
۱۳۹۴/۱۱/۲۴
با سلام میخواستم بدونم شما زبان c رو اموزش نمیدید ؟ و شما الان کدام سایت مناسب برای یادگیری زبان c به صورت رایگان پیشنهاد میکنید؟
ادمین سایت
ادمین سایت
۱۳۹۴/۱۱/۲۵
با سلام
احتراما به استحضار می رساند که در حال حاضر خیر
توصیه می کنیم که در میان سایت های فارسی زبان به دنبال آموزش باکیفیت زبان سی نگردید و به دنبال سایت های انگلیسی بروید

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

در پاسخ به

mrz8
mrz8
۱۳۹۴/۱۰/۲۷
سلام
کلی ازتون ممنونم اموزش هاتون روان به زبان ساده گام به گام و درعین حال به موضوعات ساده نپرداخته بود و پا را فراترگذاشته بود
لطفا این اموزش ها را ادامه بدهید و اموزش جاوای پیشرفته تر را هم در سایت قرار بدهید