Java Swing একটি GUI (Graphical User Interface) টুলকিট যা Java-তে ডেস্কটপ অ্যাপ্লিকেশন তৈরির জন্য ব্যবহৃত হয়। এটি Java Foundation Classes (JFC)-এর অংশ এবং এটি একটি প্ল্যাটফর্ম-স্বাধীন গ্রাফিক্যাল ইন্টারফেস প্রদান করে।
এখানে একটি সাধারণ Java Swing অ্যাপ্লিকেশন তৈরি করা হবে, যা একটি ফর্মে ব্যবহারকারীর নাম এবং বয়স নেবে এবং একটি বাটনে ক্লিক করার পরে ব্যবহারকারীর দেওয়া তথ্য প্রদর্শন করবে।
Swing কম্পোনেন্টগুলি ব্যবহার করার জন্য Java Swing লাইব্রেরি ইনক্লুড করতে হবে। Swing লাইব্রেরি Java এর অংশ, তাই এটি আলাদা করে ইনস্টল করতে হয় না। আপনার কোডে শুধুমাত্র javax.swing
প্যাকেজটি ইনক্লুড করতে হবে।
import javax.swing.*; // Swing কম্পোনেন্টগুলি ইনক্লুড করা
import java.awt.event.*; // ইভেন্ট হ্যান্ডলিং
JFrame
হল Swing-এর মূল কন্টেইনার যেখানে অন্যান্য উপাদান (কোম্পোনেন্ট) যেমন বোতাম, টেক্সট ফিল্ড, লেবেল ইত্যাদি রাখা হয়।
public class SwingExample {
public static void main(String[] args) {
// JFrame তৈরি করা
JFrame frame = new JFrame("User Information Form");
// লেবেল তৈরি করা
JLabel nameLabel = new JLabel("Name:");
JLabel ageLabel = new JLabel("Age:");
// টেক্সট ফিল্ড তৈরি করা
JTextField nameField = new JTextField(20);
JTextField ageField = new JTextField(20);
// Submit বাটন তৈরি করা
JButton submitButton = new JButton("Submit");
// আউটপুট লেবেল তৈরি করা
JLabel outputLabel = new JLabel();
// Submit বাটনের ইভেন্ট হ্যান্ডলার
submitButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String name = nameField.getText();
String age = ageField.getText();
outputLabel.setText("Name: " + name + ", Age: " + age);
}
});
// লেআউট সেট করা
frame.setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS));
// উপাদানগুলো JFrame-এ যোগ করা
frame.add(nameLabel);
frame.add(nameField);
frame.add(ageLabel);
frame.add(ageField);
frame.add(submitButton);
frame.add(outputLabel);
// JFrame সেটিংস
frame.setSize(300, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
JFrame
তৈরি করা হয়েছে, যা অ্যাপ্লিকেশনটির মূল উইন্ডো। উইন্ডোটির টাইটেল User Information Form
।ActionListener
যোগ করা হয়েছে, যা বাটনে ক্লিক করার পরে nameField
এবং ageField
থেকে টেক্সট নেয় এবং তা outputLabel
-এ প্রদর্শন করে।BoxLayout
ব্যবহার করে উপাদানগুলির লেআউট কনফিগার করা হয়েছে। এটি উপাদানগুলোকে উল্লম্বভাবে (vertically) সাজায়।frame.setVisible(true)
দ্বারা JFrame দৃশ্যমান করা হয়েছে এবং frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
দ্বারা অ্যাপ্লিকেশন বন্ধ হলে উইন্ডো বন্ধ হবে।যখন আপনি এই কোডটি রান করবেন, তখন একটি উইন্ডো প্রদর্শিত হবে, যেখানে ব্যবহারকারী তাদের নাম এবং বয়স ইনপুট করতে পারবেন এবং Submit বাটনে ক্লিক করলে তাদের ইনপুট করা তথ্য প্রদর্শিত হবে।
JFrame
, JLabel
, JTextField
, এবং JButton
সহ বিভিন্ন Swing কম্পোনেন্ট ব্যবহার করে আমরা একটি ফর্ম তৈরি করতে পারি।common.read_more