menusearch
javapro.ir

♨️ جلسه چهارم - کلاس JTextField درجاوا

جستجو
پنج شنبه ۲۲ آذر ۱۴۰۳ | ۲۳:۲:۲۶
۱۳۹۶/۳/۱ دوشنبه
(4)
(0)
♨️ جلسه چهارم - کلاس JTextField درجاوا
♨️ جلسه چهارم - کلاس JTextField درجاوا

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

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

 

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

 

♨️ جلسه چهارم - کلاس JTextField درجاوا

 

کلاس JTextField اجزای گرافیکی "متنی" است که با شی ساختن از آن به شما اجازه می‌دهد یک خط متن را ویرایش کنید.برای تصوری بهتر از این اجزای گرافیکی برنامه Notepad را باز می‌کنیم و از منو Edit گزینه Find را انتخاب می‌کنیم:تصویر(1)

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

 


در تصویر(1) ما قصد داریم کلمه "جاوا" را در میان متن موجود در برنامه Notepad پیدا کنیم.فیلدی که در بخش find، کلمه مورد نظر را برای پیدا شدن وارد می‌کنیم همان copmponent یا اجزای گرافیکی JTextField هستش که با رنگ قرمز مشخص کرده ایم. احتمالا با همچین اجزای گرافیکی زیاد برخورد کرده باشید مثلا هنگام ثبت نام و وارد کردن اطلاعات کاربری. متنی که در این اجزای گرافیکی وارد میکنیم دارای ویژگی های زیر است:


1.    بصورت یک خط یا یک سطر است.


2.    تک متن هستش یعنی نقطه سر خط نداریم! :-) سطر بعد ندارد! یعنی نمی‌توانیم متنی وارد آن کنیم و متن جدیدی در سطر بعد وارد کنیم!


3.    بر خلاف JLabel توسط کاربر نیز قابل ویرایش هستش یعنی شما میتوانید متن مورد نظر را جایگزین متن قبل کنید.


•    خب حالا که ذهنیتی نسبت کلاس JTextField پیدا کردیم سراغ سازنده ها، متدها و روش پیاده سازی آن در جاوا می رویم.

 

 

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

 

توصیفسازنده(constructor)
برای ایجاد یک TextField جدید بدون پارامتر ( سفید یا همون خالی ) JTextField()
برای ایجاد یک TextField جدید با یک متن خاص JTextField(String text)
برای ایجاد یک TextField جدید با یک متن و ستون خاص  JTextField(String text, int columns)
برای ایجاد یک TextField جدید با یک ستون خاصJTextField(int columns)

 


متد های پرکاربرد کلاس JTextField :

 

متدهای JTextFIeld در زبان برنامه نویسی جاوا


مثال:

 

package swing_javalike ;
import javax.swing.*;

class TextFieldExample
{
public static void main(String args[])
    {
    JFrame f= new JFrame("TextField Example");
    JTextField t1,t2;
    t1=new JTextField("Welcome to Javalike channel");
    t1.setBounds(50,100, 200,30);
    t2=new JTextField("Swing Tutorial");
    t2.setBounds(50,150, 200,30);
    f.add(t1); f.add(t2);
    f.setSize(400,400);
    f.setLayout(null);
    f.setVisible(true);
    }
    }


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

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

•    همان طور که مشاهده می‌کنید ما در این برنامه تو TextField داریم که متن دلخواه ما را نمایش می‌دهند.اگر برنامه رو اجرا کنید خواهید دید که می‌توانید متن های درون هر دو TextField را ویرایش کنید.


•    هر چقدر متن به این دو TextField اضافه کنید به سطر بعد نمی‌توانیم برویم.

 

JFrame f = new JFrame("TextField Example");
 
•    همان طور که میدانید برای ایجاد هر برنامه گرافیکی ابتدا اسکلت برنامه یعنی frame ان را ایجاد می‌کنیم.متن درون پارامتر سازنده، عنوان فریم ما را تشکیل می‌دهد.
 
JTextField t1,t2;

 

•    ایجاد دو شی از نوع کلاس JTextField


•    این دو شی null هستند و باید با صدا زدن سازنده کلاس‌ آنها را ایجاد کنیم.

t1=new JTextField("Welcome to Javalike channel");
 

•    صدا زدن سازنده کلاس JTextField و ایجاد شی با نام t1


•    پارامتر سازنده کلاس متن موجود در فیلد ما را تشکیل می‌دهد.

t1.setBounds(50,100, 200,30);


•    با استفاده از متد setBounds مختصات و ابعاد اجزای گرافیکی TextField را تنظیم می‌کنیم.


•    در این متد x=50، y=100، width=200 و height=30

t2=new JTextField("Swing Tutorial");
t2.setBounds(50,150, 200,30);
 

•    تمام کارایی که برای فیلد t1 انجام دادیم برای فیلد t2 نیز انجام می‌دهیم.

f.add(t1); f.add(t2);
f.setSize(400,400);
f.setLayout(null);
f.setVisible(true);
 

•    افزودن component ها (اجزای گرافیکی) TextField های t1 و t2 به frame خود، این کار چیزی شبیه اسکلت خانه است که بهش سایر متریال را اضافه می‌کنیم.


•    تنظیم سایز فریم خود


•    چون فعلا قصد نداریم از طرح بندی خاصی استفاده کنیم پارامتر متد setLayout را null قرار داده ایم.


•    برای نمایش فریم و تمام اجزای گرافیکی باید متد setVisible را با شی ای که از کلاس JFrame ساخته ایم صدا زده و مقدار پارامتر آن را true قرار دهیم.


تا اینجا چطور بود؟ :-) در ادامه با ما همراه شید.

 

مثال:در برنامه زیر سه TextField و دو Buttonداریم که یکی مقادیر دو فیلد اول را با هم جمع و دیگر از هم کم می‌کند و نتیجه را در فیلد سوم نمایش می‌دهد.

 

Package swing_javalike ;

import javax.swing.*;
import java.awt.event.*;

public class TextFieldEx implements ActionListener {
   JtextField tf1, tf2, tf3;
   JButton b1, b2;

   TextFieldEx() {
       Jframe f = new Jframe();
       tf1 = new JtextField();
       tf1.setBounds(50, 50, 150, 20);
       tf2 = new JtextField();
       tf2.setBounds(50, 100, 150, 20);
       tf3 = new JtextField();
       tf3.setBounds(50, 150, 150, 20);
       tf3.setEditable(false);
       b1 = new JButton(“+”);
       b1.setBounds(50, 200, 50, 50);
       b2 = new JButton(“-“);
       b2.setBounds(120, 200, 50, 50);
       b1.addActionListener(this);
       b2.addActionListener(this);
       f.add(tf1);
       f.add(tf2);
       f.add(tf3);
       f.add(b1);
       f.add(b2);
       f.setSize(300, 300);
       f.setLayout(null);
       f.setVisible(true);
   }

   public void actionPerformed(ActionEvent e) {
       String s1 = tf1.getText();
       String s2 = tf2.getText();
       int a = Integer.parseInt(s1);
       int b = Integer.parseInt(s2);
       int c = 0;
       if (e.getSource() == b1) {
           c = a + b;
       } else if (e.getSource() == b2) {
           c = a – b;
       }
       String result = String.valueOf(c);
       tf3.setText( result );
   }

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

 



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

 

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


•    برای مثال اگر مقدار فیلد اول را 96 بگذاریم و مقدار فیلد دوم را 1300 بگذاریم و روی دکمه “+” کلیک کنی نتیجه در فیلد سوم 1396 خواهد شد: تصویر(4)

 

 


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

•    همان طور که در تصویر(4) مشاهده می‌کنید TextField سوم با TextField های اول و دوم شکل متفاوتی دارد و دورش خطوط ابی رنگ و غیر قابل ویرایش است.دلیلش اینه که درهنگام کدنویسی با صدا زدن دستور مربوطه که جلوتر بهش می‌پردازیم گفتیم که فیلد سوم برای کاربر غیرقابل ویرایش کن!

 

نکته: حتما مثال های کار با گرافیک را برای خودتون در Eclipse و.. کامپایل و اجرا کنید و عملی کار کنید، چون که تئوری کار ساز نیست.

 

public class TextFieldEx implements ActionListener {


•    چون که قصد داریم از رویداد ها و اکشن ها استفاده کنیم و عملیات خاصی را به اجزای گرافیکی خود نسبت دهیم کلاس خود را implements به اینترفیس ActionListener می‌کنیم.

 

JtextField tf1, tf2, tf3;
JButton b1, b2;


•    در اینجا سه شی از نوع کلاس JTextField تعریف کرده ایم.


•    و همچنین دو شی از کلاس JButton که دکمه های ما را تشکیل می‌دهد تعریف کرده ایم.

 

TextFieldEx() {
       Jframe f = new Jframe();
       tf1 = new JtextField();
       tf1.setBounds(50, 50, 150, 20);
       tf2 = new JtextField();
       tf2.setBounds(50, 100, 150, 20);
       tf3 = new JtextField();
       tf3.setBounds(50, 150, 150, 20);
       tf3.setEditable(false);
       b1 = new JButton(“+”);
       b1.setBounds(50, 200, 50, 50);
       b2 = new JButton(“-“);
       b2.setBounds(120, 200, 50, 50);


•    در سازنده کلاس اجزای گرافیکی خود را ساخته ایم.


•    ابتدا یک frame ایجاد کرده، و سپس سازنده کلاس JTextField را برای هر کدام از اشیای t1،t2و t3 صدا زده ایم.و سپس مختصات و ابعداد TextField های خود را مشخص کرده و همچنین سازنده کلاس JButton را برای اشیای b1 و b2 صدا زده ایم.و در نهایت تنظیم مختصات و ابعداد Button های خود

 

b1.addActionListener(this);
b2.addActionListener(this);


•    همان طور که میدانید برای نسبت دادن رویداد و عملیات خاصی به یک Button با استفاده از شی ایجاد شده از کلاس JButton متد addActionListener را صدا می‌زنیم.


•    در جلسات گذشته مستقیم از اینترفیس ActionListener درون متد addActionListener شی ایجاد کرده و دستورات خودمون که قرار بود بعد از رخ دادن یک رویداد ( یک رویداد می‌تواند کلیک کردن روی دکمه Button، فشردن دکمه کیبورد یا کلیک کردن با موس باشد) اجرا شوند رو درون متد actionPerformed قرار می‌دادیم.


•    در اینجا خبری از این کار نیست یعنی بجای ایجاد مستقیم شی از اینترفیس ActionListener، کلاس خود را impelements به اینترفیس ActionListener کردیم و در بدنه کلاس خود متد actionPerformed اینترفیس ActionListener را پیاده سازی کرده و دستوراتی که قصد اجرا شدن بعد از رخ دادن هر رویدادی داریم را درون متد actionPerformed قرار می‌دهیم.


•    از آن جهت که کلاس ما یعنی TextFieldEx را implements به اینترفیس ActionListener ،کرده ایم، می‌توانیم شی ای از کلاس خود یعنی TextFieldEx را جایگزین پارامتر متد addActionListener کنیم. از طرفی بجای شی سازی از کلاسمون در این متد می‌توانیم از کلمه کلیدی this استفاده کنیم.

 

f.add(tf1);
f.add(tf2);
f.add(tf3);
f.add(b1);
f.add(b2);
f.setSize(300, 300);
f.setLayout(null);
f.setVisible(true);


•    در اینجا با استفاده از متد add اجزای گرافیکی خود را به frame اضافه می‌کنیم.


•    همچنین سایز فریم خود را تعیین می‌کنیم.


•    چون از طرح بندی خاصی نمی‌خوایم استفاده کنیم مقدار پارامتر setLayout را null قرار می‌دهیم.


•    برای نمایش فریم و تمام اجزای گرافیکی مقدار پارامتر متد setVisible را true می‌کنیم.

 

public void actionPerformed(ActionEvent e) {


•    این متد رویدادهایی که رخ می‌دهند را دریافت می‌کند و بعد متناسب با رویداد رخ داده دستوری که بهش داده ایم را اجرا می‌کند.


•    یک رویداد می‌تواند دکمه های کیبورد، موس و یا دکمه های درون برنامه مثل فشردن Button ها، آیتم های منوها و...باشد.

 

String s1 = tf1.getText();
String s2 = tf2.getText();


•    با صدا زدن متد getText از طریق شی های کلاس JTextField متن موجود در فیلد ها دریافت می‌شوند.


•    در اینجا متن هر کدام TextField ها درون متغیری از نوع String ریخته می‌شود.


•    مقدار یک TextField از نوع String است حتی اگر عدد وارد آن کنیم.

 

int a = Integer.parseInt(s1);
int b = Integer.parseInt(s2);



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

 


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

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

لینک دانلود

 

آموزش زبان جاواآموزش زبان جاوا


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

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

7 نظر
امیر ححح
پنج شنبه بیست و پنجم دی ۹۹
پاسخ
()
()
امیر ححح
سلام من وقتي عکس پشت زمينه ميزارم دکمه ها رو نشون نميده ميتونين راهنمايي کنين
الهام عابدی
جمعه چهارم مهر ۹۹
پاسخ
()
()
الهام عابدی
خيلييييي عالي و با جزئيات کامل گفته شده .ممنون خسته نباشيد
پاسخ مدیر سایت
سلام.سلامت باشین، خوش حالم :-)
پاسخ مدیر سایت
Fatemeh
سه شنبه بیست و چهارم تیر ۹۹
پاسخ
()
()
Fatemeh
خيلي مطالب راحت و روان هست. ممنون
سپهر
یکشنبه یازدهم خرداد ۹۹
پاسخ
(0)
()
سپهر
ممنونم بابت توضيحات ساده و روونتون
پاسخ مدیر سایت
سلام.خواهش میکنم سپهر جان :)
پاسخ مدیر سایت
فاطمه
سه شنبه بیستم اسفند ۹۸
پاسخ
(0)
()
فاطمه
سلام مباحث رو خيلي خوب توضيح داديدمن ترم دو کامپيوتر دانشگاه فردوسيم تو اين مدت که دانشگاه تعطيله دارم مبحث گرافيک جاوا رو از اين سايت ياد ميگيرم سپاسگزارم
پاسخ مدیر سایت
سلام.خوش حالم ;-)
پاسخ مدیر سایت
دیانا محبی
یکشنبه بیست و هشتم مهر ۹۸
پاسخ
()
()
دیانا محبی
عزيزم خيلي خوب بود خوشحالم که وب سايتتون رو کشف کردم
پاسخ مدیر سایت
سلام.از نظر لطف شما سپاسگزارم
پاسخ مدیر سایت
مجتبی موقوفه
دوشنبه بیست و هشتم مرداد ۹۸
پاسخ
()
()
مجتبی موقوفه
بسيار بسيار عالي. خدا قوت
پاسخ مدیر سایت
سلام.از نظر لطفتون سپاسگزارم
پاسخ مدیر سایت
هدر سایت
مشاهده سرفصل ها و ثبت نام در دوره Spring Boot جاواپرو  [کلیک کنید]
آموزش پروژه محور اسپرینگ بوت(Spring Boot)-سیستم دانشگاه
ثبت نام در دوره آموزش Spring security
دوره معماری میکروسرویس ها (Microservices) با استفاده از Spring Boot و Spring Cloud
دوره پرتاب | آموزش پیش نیازهای برنامه نویسی
دوره آموزش مبانی زبان برنامه نویسی جاوا
دوره آموزش مفاهیم پیشرفته زبان برنامه نویسی جاوا
مقدمه ای از زبان برنامه نویسی جاوا(java)
آموزش زبان برنامه نویسی جاوا
آموزش گرافیک در زبان برنامه نویسی جاوا
آموزش مدیریت چیدمان گرافیکی در زبان جاوا
آموزش ساخت بازی دوبعدی در زبان جاوا
Collection ها در زبان برنامه نویسی جاوا
آموزش پروژه محور ساخت برنامه مدیریت بانک با JavaFX
نمونه پروژه های رایگان زبان جاوا
آموزش دیتابیس در زبان برنامه نویسی جاوا
نمونه مثال پایه ای زبان برنامه نویسی جاوا
نمونه مثال String در زبان برنامه نویسی جاوا
آموزش جامع برنامه نویسی JavaFX
آموزش ساخت برنامه آزمون تستی در JavaFX
آموزش برنامه نویسی سوکت در جاوا
آموزش ساخت برنامه دفترچه تلفن با JavaFX
آموزش ساخت ربات ساده تلگرام با زبان جاوا
آموزش ساخت برنامه ماشین حساب با JavaFX
آموزش ساخت برنامه ساده مدیریت ایمیل ها با JavaFX
دوره آموزش Spring Boot
سفارش انجام پروژه زبان برنامه نویسی جاوا(JAVA)
سفارش انجام پروژه برنامه نویسی متلب(MATLAB) با قیمت منصفانه و تحویل به موقع
سفارش انجام پروژه زبان برنامه نویسی سی شارپ (#C)
سفارش انجام پروژه زبان برنامه نویسی سی(C)
سفارش انجام پروژه زبان برنامه نویسی پایتون(Python)
سفارش انجام پروژه زبان برنامه نویسی PHP (پی اچ پی)
سفارش انجام پروژه زبان برنامه نویسی اسمبلی(Assembly)
سفارش انجام پروژه زبان برنامه نویسی جاوا اسکریپت (Javascript)
سفارش انجام پروژه هوش مصنوعی
سفارش انجام پروژه طراحی الگوریتم
سفارش انجام پروژه ساختمان داده ها
سفارش انجام پروژه مهندسی نرم افزار
سفارش انجام پروژه شبکه های کامپیوتری
سفارش انجام پروژه پایگاه داده: دیتابیس (database)
 سفارش انجام پروژه سیستم عامل
سفارش انجام پروژه پاورپوینت(PowerPoint)
سفارش انجام پروژه اکسل (Excel)
سفارش انجام تحقیق و تهیه مقاله
سوالات متداول برنامه نویسی
جدیدترین مطالب
گفتگو را شروع کنید
مشاوره ،تدریس خصوصی و سفارش انجام انواع پروژه های برنامه نویسی