آموزش دکمه (Button) در جاوا
سلام دوستان در این سری از آموزش برنامه نویسی جاوا به آموزش دکمه (Button) در جاوا می پردازیم برای اینکه دکمه (Button) به فرم اضافه کنیم باید از Swing استفاده کنیم نام دکمه در این کلاس JButton است JButton ویژگی های مختلف و زیادی دارد در ادامه باهم این ویژگی را مورد بررسی قرار می دهیم با ما همراه باشید تا نحوه اضافه کردن دکمه (Button) به فرم را یاد گیرید.
Jbutton یا Button (دکمه) ویژگی های زیادی دارد ابتدا سه ویژگی که به Constructor آن بر می گردد را مورد بررسی قرار میدهیم.
- Jbutton : این ویژگی یک دکمه بدون متن و آیکون ایجاد می کند.
- JButton(String : این ویژگی یک دکمه با متن ایجاد می کند.
- JButton(Icon i : این ویژگی یگ دکمه با آیکون ایجاد می کند.
متد های Jbutton
setText : از این متد به منظور تعیین متن دکمه استفاده می شود و ورودی آن رشته است.
getText : این ویژگی متن تنظیم شده بر روی دکمه را بر می گرداند return آن از نوع رشته است.
setEnabled : این ویژگی تعیین می کند که دکمه فعال یا غیر فعال شد ورودی آن boolean است.
setIcon : این ویژگی آیکون دکمه را تنظیم خواهد کرد.
getIcon : این ویژگی آیکون تنظیم شده بروی دکمه را بر خواهد گرداند خروجی آن از نوع Icon است.
addActionListener : از این ویژگی برای تعیین یک Listener برای گرفتن کلیک بروی دکمه استفاده می شود.
setMnemonic : از این ویژگی برای ساخت Shortcut استفاده می شود مثلا با زدن کلید H بروی کیبورد عملیاتی را انجام دهد .
ویژگی های بالا مهمترین ویژگی ها یا Property های دکمه بودند در ادامه به یک مثال کاربردی خواهیم پرداخت.
در آموزش قبلی Jframe را توضیح دادیم از لینک زیر می توانید به آموزش آن دسترسی پیدا کنید.
آموزش Jframe در جاوا
یک کلاس به نام ButtonExample ایجاد کنید و کدهای زیر را در آن قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 | import javax.swing.*; public class ButtonExample { public static void main(String[] args) { JFrame f=new JFrame("Button Example"); JButton b=new JButton("Click Here"); b.setBounds(50,100,95,30); f.add(b); f.setSize(400,400); f.setLayout(null); f.setVisible(true); } } |
در بالا ابتدا یک Jframe ساختیم سپس یک Instance از JButton گرفتیم و یک نام برای آن در نظر گرفتیم. ما باید مختصات قرار گیری و همینطور اندازه دکمه را به آن ارسال کنیم برای همین منظور از setBounds استفاده کردیم.
به ترتیب از چپ به راست مقدار اول مختصات x دکمه را تعیین می کند و مقدار دوم مختصات y را تعیین می کند. مقدار سوم عرض و مقدار چهارم طول دکمه را تعیین می کند.
بعد از اینکه اندازه و مختصات را به دکمه دادیم باید آن را به فرم اضافه کنیم برای اینکار از متود add استفاده می کنیم. ما باید اندازه فرمی که می خواهیم بسازیم را نیز تعیین کنیم که برای اینکار از setSize استفاده می کنیم و در نهایت آن را Visible می کنیم.
خروجی کد بالا همانند زیر خواهد بود.
در مثال بعدی می خواهیم یک ActionListener به دکمه اضافه کنیم.
یک کلاس به نام ButtonExample ایجاد کرده و کدهای زیر را در آن قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import java.awt.event.*; import javax.swing.*; public class ButtonExample { public static void main(String[] args) { JFrame f=new JFrame("Button Example"); final JTextField tf=new JTextField(); tf.setBounds(50,50, 150,20); JButton b=new JButton("Click Here"); b.setBounds(50,100,95,30); b.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ tf.setText("Welcome to Javatpoint."); } }); f.add(b);f.add(tf); f.setSize(400,400); f.setLayout(null); f.setVisible(true); } } |
در بالا یک فیلد متنی نیز قرار دادیم تا پس از کلیک متن قرار داده شود (در آموزش های بعدی آن را توضیح خواهیم داد) همانطور که در بالا مشاهده می کنید برای تعریف رویداد کلیک از ActionListener استفاده کردیم و در داخل آن یک ActionListener را new کردیم تا به کلیک ها گوش دهد (listen کند).
خروجی کد بالا همانند زیر خواهد بود.
برای اینکه یک به دکمه یک icon اضافه کنیم می توانید از کد زیر استفاده کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | import javax.swing.*; public class ButtonExample{ ButtonExample(){ JFrame f=new JFrame("Button Example"); JButton b=new JButton(new ImageIcon("D:\\icon.png")); b.setBounds(100,100,100, 40); f.add(b); f.setSize(300,400); f.setLayout(null); f.setVisible(true); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { new ButtonExample(); } } |
باید آدرس ایکون را قرار دهید.
نتیجه کد بالا همانند زیر خواهد بود.
این آموزش هم به پایان رسید.
موفق باشید.
با سلام و خسته نباشید ممنون از آموزش های خوبتون
من میخوام کاستوم ویو بسازم یعنی یه کلاس که مثلا از jlable ارث بری کرده بعد مثل اندروید داخل xml ازش استفاده کنم چطوری میشه این کار رو کرد یعنی در زبان جاوا از xml برای ui بهره برد مثل کاری که اندروید کرده
سلام خیر اوراکل نمیزاره به xml دسترسی داشته باشید.
خب اندروید هم همین کار رو کرده مگه نه؟!!!
یعنی دنبال یه،چیزی مثل wpf واسه جاوا میگردم
اندروید یک concept برنامه نویسی است شما در اندروید از کد های جاوا استفاده می کنید ولی همه کدهای جاوا که در اندروید کار نمی کند پس فرق می کنه یعنی اندروید از sdk سفارشی که باهاش هست استفاده می کنه و اون sdk نیازمند jdk جاوا است sdk واسط محدودیت هایی بروی استفاده از کلاس های جاوا در اندروید میزاره به طور مثال شما دیگه swing ندارید بلکه خود Button یک نوع شئی به حساب میادش ولی در جاوا مثلا شئی دکمه یک implement از کلاس swing هست.
چیزی که به صورت drag and drop باشه در جاوا وجود نداره در البته در بعضی موارد که خطا بده ide می تونید کدهای xml رو ببینید ولی orcale دسترسی به آنها را بسته.
موفق باشید.
سلام
اگربخوایم با زدن دکمه یک شی که تصویریه روی پنل برنامه ایجاد کنیم و تصویر شی روی دکمه بیفته باید چی کار کنیم الان اینجا codeدوم فقط با زدن دکمه یه نوشته ایجاد میشه تازه روی دکمه هم هر چی مختصاتشو عوض میکنم نمیفته
لطفا راهنماییم کنید که باید چی کارکنم