Java Swing-এ বিভিন্ন ধরনের কম্পোনেন্ট রয়েছে, যা GUI (Graphical User Interface) তৈরি করতে ব্যবহৃত হয়। কিছু সাধারণ কম্পোনেন্ট হলো বাটন (Button), লেবেল (Label), টেক্সটফিল্ড (TextField) ইত্যাদি। নিচে প্রতিটি কম্পোনেন্টের বিবরণ ও উদাহরণ দেওয়া হলো।
১. JButton (বাটন)
JButton হলো একটি ক্লিকযোগ্য বোতাম, যা ব্যবহারকারী ইভেন্ট ট্রিগার করতে ক্লিক করতে পারে।
উদাহরণ:
import javax.swing.JButton;
import javax.swing.JFrame;
public class JButtonExample {
public static void main(String[] args) {
JFrame frame = new JFrame("Button Example");
frame.setSize(300, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(null);
JButton button = new JButton("Click Me");
button.setBounds(100, 80, 100, 30);
frame.add(button);
frame.setVisible(true);
}
}
বিবরণ:
JButtonদিয়ে একটি বোতাম তৈরি করা হয়েছে, যা"Click Me"টেক্সট প্রদর্শন করে।setBounds()মেথড দিয়ে বোতামের অবস্থান ও আকার নির্ধারণ করা হয়েছে।
২. JLabel (লেবেল)
JLabel হলো একটি স্ট্যাটিক টেক্সট বা চিত্র প্রদর্শনের জন্য ব্যবহৃত কম্পোনেন্ট। এটি সাধারণত তথ্য প্রদর্শনে ব্যবহৃত হয় এবং এটি ইন্টারঅ্যাক্টিভ নয়।
উদাহরণ:
import javax.swing.JFrame;
import javax.swing.JLabel;
public class JLabelExample {
public static void main(String[] args) {
JFrame frame = new JFrame("Label Example");
frame.setSize(300, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(null);
JLabel label = new JLabel("Hello, Swing!");
label.setBounds(100, 80, 100, 30);
frame.add(label);
frame.setVisible(true);
}
}
বিবরণ:
JLabelদিয়ে"Hello, Swing!"লেখা একটি লেবেল তৈরি করা হয়েছে।- লেবেলের অবস্থান এবং আকার
setBounds()মেথড দিয়ে নির্ধারণ করা হয়েছে।
৩. JTextField (টেক্সটফিল্ড)
JTextField হলো একটি একক লাইনের টেক্সট ইনপুট ফিল্ড, যেখানে ব্যবহারকারী টেক্সট লিখতে পারে।
উদাহরণ:
import javax.swing.JFrame;
import javax.swing.JTextField;
public class JTextFieldExample {
public static void main(String[] args) {
JFrame frame = new JFrame("TextField Example");
frame.setSize(300, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(null);
JTextField textField = new JTextField();
textField.setBounds(50, 80, 200, 30);
frame.add(textField);
frame.setVisible(true);
}
}
বিবরণ:
JTextFieldদিয়ে একটি ইনপুট ফিল্ড তৈরি করা হয়েছে, যেখানে ব্যবহারকারী টেক্সট ইনপুট দিতে পারে।setBounds()মেথড দিয়ে টেক্সটফিল্ডের অবস্থান ও আকার নির্ধারণ করা হয়েছে।
৪. JTextArea (মাল্টি-লাইন টেক্সট ইনপুট)
JTextArea হলো একটি মাল্টি-লাইন টেক্সট ইনপুট ক্ষেত্র, যেখানে ব্যবহারকারী একাধিক লাইনে টেক্সট লিখতে পারে।
উদাহরণ:
import javax.swing.JFrame;
import javax.swing.JTextArea;
public class JTextAreaExample {
public static void main(String[] args) {
JFrame frame = new JFrame("TextArea Example");
frame.setSize(400, 300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(null);
JTextArea textArea = new JTextArea();
textArea.setBounds(50, 50, 300, 150);
frame.add(textArea);
frame.setVisible(true);
}
}
বিবরণ:
JTextAreaদিয়ে একটি মাল্টি-লাইন ইনপুট ফিল্ড তৈরি করা হয়েছে।setBounds()মেথড দিয়ে এর অবস্থান এবং আকার নির্ধারণ করা হয়েছে।
৫. JCheckBox (চেকবক্স)
JCheckBox হলো একটি চেকবক্স, যা ব্যবহারকারী নির্বাচন বা আন-সিলেকশন করতে পারে।
উদাহরণ:
import javax.swing.JCheckBox;
import javax.swing.JFrame;
public class JCheckBoxExample {
public static void main(String[] args) {
JFrame frame = new JFrame("CheckBox Example");
frame.setSize(300, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(null);
JCheckBox checkBox = new JCheckBox("Accept Terms");
checkBox.setBounds(100, 80, 120, 30);
frame.add(checkBox);
frame.setVisible(true);
}
}
বিবরণ:
JCheckBoxদিয়ে একটি চেকবক্স তৈরি করা হয়েছে, যা ব্যবহারকারী নির্বাচন বা আন-সিলেকশন করতে পারে।setBounds()মেথড দিয়ে চেকবক্সের অবস্থান নির্ধারণ করা হয়েছে।
৬. JRadioButton (রেডিও বোতাম)
JRadioButton হলো একটি রেডিও বোতাম, যা একক অপশন নির্বাচন নিশ্চিত করে।
উদাহরণ:
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JRadioButton;
public class JRadioButtonExample {
public static void main(String[] args) {
JFrame frame = new JFrame("RadioButton Example");
frame.setSize(300, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(null);
JRadioButton radio1 = new JRadioButton("Male");
radio1.setBounds(100, 50, 100, 30);
JRadioButton radio2 = new JRadioButton("Female");
radio2.setBounds(100, 80, 100, 30);
// ButtonGroup দিয়ে রেডিও বোতামগুলোকে গ্রুপ করা
ButtonGroup group = new ButtonGroup();
group.add(radio1);
group.add(radio2);
frame.add(radio1);
frame.add(radio2);
frame.setVisible(true);
}
}
বিবরণ:
JRadioButtonদিয়ে দুটি রেডিও বোতাম তৈরি করা হয়েছে।ButtonGroupদিয়ে রেডিও বোতামগুলোকে একটি গ্রুপে যুক্ত করা হয়েছে, যাতে একবারে একটি মাত্র রেডিও বোতাম নির্বাচন করা যায়।
৭. JComboBox (কম্বো বক্স)
JComboBox হলো একটি ড্রপডাউন তালিকা, যেখানে ব্যবহারকারী একটি অপশন নির্বাচন করতে পারে।
উদাহরণ:
import javax.swing.JComboBox;
import javax.swing.JFrame;
public class JComboBoxExample {
public static void main(String[] args) {
JFrame frame = new JFrame("ComboBox Example");
frame.setSize(300, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(null);
String[] options = {"Java", "Python", "C++", "JavaScript"};
JComboBox<String> comboBox = new JComboBox<>(options);
comboBox.setBounds(100, 80, 100, 30);
frame.add(comboBox);
frame.setVisible(true);
}
}
বিবরণ:
JComboBoxদিয়ে একটি ড্রপডাউন তালিকা তৈরি করা হয়েছে।- তালিকায় বিভিন্ন প্রোগ্রামিং ভাষার অপশন যোগ করা হয়েছে।
সারসংক্ষেপ
- JButton: বোতাম, যা ক্লিক করার মাধ্যমে ইভেন্ট ট্রিগার করতে পারে।
- JLabel: স্ট্যাটিক টেক্সট বা চিত্র প্রদর্শন করে।
- JTextField: একক লাইনের টেক্সট ইনপুট নিতে ব্যবহৃত হয়।
- JTextArea: একাধিক লাইনের টেক্সট ইনপুট নিতে ব্যবহৃত হয়।
- JCheckBox: চেকবক্স, যা নির্বাচন বা আন-সিলেকশন করা যায়।
- JRadioButton: রেডিও বোতাম, যা একবারে একটি অপশন নির্বাচন নিশ্চিত করে।
- JComboBox: ড্রপডাউন তালিকা, যা থেকে একটি অপশন নির্বাচন করা যায়।
Swing-এ এই কম্পোনেন্টগুলো ব্যবহার করে সহজেই বিভিন্ন প্রকারের GUI তৈরি করা যায়, যা অ্যাপ্লিকেশনকে ব্যবহারকারী বান্ধব করে তোলে।
Read more