এডাব্লিউটি (AWT) এর কম্পোনেন্টগুলো হল সেই উপাদানগুলো, যা গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) তৈরি করতে ব্যবহৃত হয়। এগুলোর মধ্যে Button, Label, এবং TextField হল কিছু মৌলিক কম্পোনেন্ট। নিচে এই তিনটি কম্পোনেন্টের বিস্তারিত বর্ণনা দেওয়া হল:
1. Button (বাটন)
Button কম্পোনেন্টটি সাধারণত ব্যবহারকারীর ইনপুট গ্রহণের জন্য ব্যবহৃত হয়। এটি সাধারণত একটি ক্লিকযোগ্য বাটন হিসেবে প্রদর্শিত হয়, যা কোন নির্দিষ্ট অ্যাকশন সম্পাদন করতে পারে, যেমন ফাংশন বা ক্যালকুলেশন চালানো, ডেটা সেভ করা, ইত্যাদি।
বৈশিষ্ট্য:
- Text: বাটনের মধ্যে প্রদর্শিত টেক্সট।
- ActionListener: বাটন ক্লিক হওয়ার সময় একটি নির্দিষ্ট ইভেন্ট ঘটানোর জন্য এটি ব্যবহার করা হয়।
উদাহরণ:
import java.awt.*;
import java.awt.event.*;
public class ButtonExample {
public static void main(String[] args) {
Frame frame = new Frame("Button Example");
Button button = new Button("Click Me");
button.setBounds(50, 100, 80, 30);
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Button clicked!");
}
});
frame.add(button);
frame.setSize(300, 300);
frame.setLayout(null);
frame.setVisible(true);
}
}
2. Label (লেবেল)
Label কম্পোনেন্টটি ব্যবহারকারীর জন্য তথ্য প্রদর্শন করার জন্য ব্যবহৃত হয়, এটি সাধারণত একটি স্ট্যাটিক টেক্সট হিসেবে প্রদর্শিত হয় এবং এটি কোন ইন্টারঅ্যাকশন গ্রহণ করে না। এটি শুধুমাত্র প্রদর্শনমূলক উদ্দেশ্যে ব্যবহৃত হয়।
বৈশিষ্ট্য:
- Text: লেবেলের মধ্যে প্রদর্শিত টেক্সট।
- Alignment: লেবেলের টেক্সটকে বাম, মাঝখান বা ডানদিকে সজ্জিত করা যেতে পারে।
উদাহরণ:
import java.awt.*;
public class LabelExample {
public static void main(String[] args) {
Frame frame = new Frame("Label Example");
Label label = new Label("Welcome to AWT");
label.setBounds(50, 100, 200, 30);
frame.add(label);
frame.setSize(300, 300);
frame.setLayout(null);
frame.setVisible(true);
}
}
3. TextField (টেক্সটফিল্ড)
TextField কম্পোনেন্টটি ব্যবহারকারীর কাছ থেকে একলাইন টেক্সট ইনপুট গ্রহণ করতে ব্যবহৃত হয়। এটি সাধারণত একটি ফিল্ড যেখানে ব্যবহারকারী টেক্সট টাইপ করতে পারেন, এবং এটি একক লাইন ইনপুটের জন্য উপযুক্ত।
বৈশিষ্ট্য:
- Text: ব্যবহারকারীর ইনপুট হিসেবে প্রদর্শিত টেক্সট।
- Editable: ব্যবহারকারী কি ইনপুট করতে পারবেন, তা নির্ধারণ করা।
- ActionListener: ইনপুট পূর্ণ হলে একটি নির্দিষ্ট ইভেন্ট ঘটানোর জন্য।
উদাহরণ:
import java.awt.*;
import java.awt.event.*;
public class TextFieldExample {
public static void main(String[] args) {
Frame frame = new Frame("TextField Example");
TextField textField = new TextField("Enter text here...");
textField.setBounds(50, 100, 200, 30);
textField.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Text entered: " + textField.getText());
}
});
frame.add(textField);
frame.setSize(300, 300);
frame.setLayout(null);
frame.setVisible(true);
}
}
Button, Label, এবং TextField এর মধ্যে পার্থক্য:
- Button: ব্যবহারকারীর ইনপুট গ্রহণ করার জন্য, যেখানে একটি নির্দিষ্ট অ্যাকশন সম্পাদিত হয় (যেমন ক্লিক করা)।
- Label: তথ্য প্রদর্শন করার জন্য, এটি কোন ব্যবহারকারী ইনপুট গ্রহণ করে না।
- TextField: ব্যবহারকারীর টেক্সট ইনপুট গ্রহণ করার জন্য, যেখানে ব্যবহারকারী টেক্সট টাইপ করতে পারেন।
সাধারণ ব্যবহারের ক্ষেত্রে:
- Button সাধারণত ব্যবহারকারীকে কোন অ্যাকশন সম্পাদন করতে প্ররোচিত করে, যেমন তথ্য সংরক্ষণ বা নতুন ডাটা লোড করা।
- Label তথ্য প্রদর্শনের জন্য ব্যবহৃত হয়, যেমন "Welcome", "Enter your name" ইত্যাদি।
- TextField ব্যবহারকারীর কাছ থেকে ইনপুট নেয়, যেমন নাম, পাসওয়ার্ড, ইমেইল ইত্যাদি।
এই তিনটি কম্পোনেন্টের সাহায্যে একটি কার্যকরী এবং ব্যবহারকারীর সাথে ইন্টারঅ্যাক্টিভ GUI অ্যাপ্লিকেশন তৈরি করা যায়।
AWT (Abstract Window Toolkit)-এ Button তৈরি এবং তার ইভেন্ট হ্যান্ডলিং খুবই গুরুত্বপূর্ণ। একটি Button তৈরি করা এবং ব্যবহারকারীর সাথে ইন্টারঅ্যাক্ট করার জন্য ইভেন্ট হ্যান্ডলিং ব্যবহৃত হয়। Button এর ActionEvent হ্যান্ডল করার মাধ্যমে বোতামে ক্লিকের প্রতিক্রিয়া পাওয়া যায়।
Button তৈরি করা:
AWT-তে Button তৈরি করতে java.awt.Button ক্লাস ব্যবহার করা হয়। একটি বোতাম তৈরি করার পর, তার ওপর ইভেন্ট হ্যান্ডলার অ্যাটাচ করা হয় যাতে বোতামটি ক্লিক করা হলে কিছু কাজ করা হয়।
Button ইভেন্ট হ্যান্ডলিং:
AWT-তে Button এর ইভেন্ট হ্যান্ডলিং করার জন্য ActionListener ইন্টারফেস ব্যবহার করা হয়। যখন একটি বোতামে ক্লিক করা হয়, তখন actionPerformed() মেথড কল হয়, এবং এখানে আমরা ক্লিকের প্রতিক্রিয়া নির্ধারণ করতে পারি।
উদাহরণ:
এখানে একটি সিম্পল উদাহরণ দেখানো হলো যেখানে একটি বোতাম তৈরি করা হয়েছে এবং তার ActionEvent হ্যান্ডল করা হয়েছে:
import java.awt.*;
import java.awt.event.*;
public class ButtonExample {
public static void main(String[] args) {
// ফ্রেম তৈরি
Frame frame = new Frame("AWT Button Example");
// বোতাম তৈরি
Button button = new Button("Click Me");
// বোতামে ActionListener যুক্ত করা
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// বোতাম ক্লিক হলে মেসেজ প্রদর্শন
System.out.println("Button clicked!");
}
});
// বোতাম ফ্রেমে যোগ করা
frame.add(button);
// ফ্রেমের আকার এবং দৃশ্যমানতা সেট করা
frame.setSize(300, 200);
frame.setLayout(new FlowLayout());
frame.setVisible(true);
// উইন্ডো বন্ধ করার জন্য উইন্ডো ক্লোজার সেট করা
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
}
}
উদাহরণটি বিশ্লেষণ:
- Frame তৈরি: প্রথমে একটি Frame তৈরি করা হয়েছে, যেখানে বোতামটি রাখা হবে।
- Button তৈরি: একটি Button তৈরি করা হয়েছে, যার টেক্সট "Click Me"।
- ActionListener যোগ করা: addActionListener() মেথড ব্যবহার করে Button-এ একটি ActionListener যুক্ত করা হয়েছে। এই লিসেনারটি actionPerformed() মেথড ব্যবহার করে বোতাম ক্লিকের পর প্রতিক্রিয়া প্রদান করে।
- WindowListener যোগ করা: উইন্ডো বন্ধ করার জন্য WindowListener যোগ করা হয়েছে, যাতে ফ্রেমটি বন্ধ করার সময় প্রোগ্রামটি সঠিকভাবে বন্ধ হয়।
Button-এ অন্যান্য ইভেন্ট হ্যান্ডলিং:
AWT তে Button-এর ক্লিক ইভেন্ট ছাড়া আরও অন্যান্য ইভেন্ট হ্যান্ডল করা যেতে পারে, যেমন:
- MouseListener: মাউস ক্লিক, মাউস এন্ট্রি, মাউস এক্সিট ইত্যাদি।
- KeyListener: কিবোর্ড ইনপুট ইত্যাদি।
AWT তে Button তৈরি করা এবং তার ইভেন্ট হ্যান্ডলিং সহজ এবং সরল। ActionListener ব্যবহার করে বোতাম ক্লিক করার পর কিছু কাজ করানোর জন্য এটি ব্যবহার করা হয়, যা অ্যাপ্লিকেশনে ইন্টার্যাকটিভিটি যুক্ত করে।
AWT (Abstract Window Toolkit) ব্যবহার করে একটি ফর্ম তৈরি করতে Label এবং TextField কম্পোনেন্ট ব্যবহার করা যায়। Label ব্যবহার করে তথ্য দেখানো যায়, এবং TextField ব্যবহার করে ব্যবহারকারীর ইনপুট নেওয়া যায়। এই উদাহরণে একটি সাধারণ ফর্ম তৈরি করা হবে যেখানে দুটি Label এবং দুটি TextField থাকবে, যা ব্যবহারকারীর নাম এবং বয়স নেওয়ার জন্য ব্যবহৃত হবে।
উদাহরণ: Label এবং TextField ব্যবহার করে ফর্ম তৈরি করা
import java.awt.*;
import java.awt.event.*;
public class FormExample {
public static void main(String[] args) {
// Frame অবজেক্ট তৈরি
Frame frame = new Frame("AWT Form Example");
// Label এবং TextField তৈরি
Label nameLabel = new Label("Name: ");
TextField nameField = new TextField();
Label ageLabel = new Label("Age: ");
TextField ageField = new TextField();
// Layout সেট করা (FlowLayout ব্যবহার করে)
frame.setLayout(new FlowLayout());
// Components ফ্রেমে যোগ করা
frame.add(nameLabel);
frame.add(nameField);
frame.add(ageLabel);
frame.add(ageField);
// Submit বোতাম তৈরি এবং ইভেন্ট হ্যান্ডলার যোগ করা
Button submitButton = new Button("Submit");
frame.add(submitButton);
submitButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// Name এবং Age ফিল্ডের ইনপুট প্রিন্ট করা
String name = nameField.getText();
String age = ageField.getText();
System.out.println("Name: " + name);
System.out.println("Age: " + age);
}
});
// উইন্ডোর আকার নির্ধারণ
frame.setSize(300, 200);
// উইন্ডো বন্ধ করার জন্য ইভেন্ট হ্যান্ডলার
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
// উইন্ডো দৃশ্যমান করা
frame.setVisible(true);
}
}
কোডের ব্যাখ্যা:
LabelএবংTextFieldতৈরি করা:Labelকম্পোনেন্ট ব্যবহার করে টেক্সট বা নির্দেশনা দেখানো হয়। এখানেnameLabelএবংageLabelনামের লেবেল তৈরি করা হয়েছে।TextFieldকম্পোনেন্ট ব্যবহার করে ব্যবহারকারীর ইনপুট নেওয়া হয়। এখানেnameFieldএবংageFieldনামের টেক্সটফিল্ড তৈরি করা হয়েছে।
FlowLayoutব্যবহার করা:- এখানে
FlowLayoutব্যবহার করা হয়েছে, যা কম্পোনেন্টগুলোকে লাইন বাই লাইন (হরিজন্টালি) রাখে।
- এখানে
ButtonএবংActionListener:- একটি
Buttonতৈরি করা হয়েছে "Submit" নামে। এর সাথে একটিActionListenerযোগ করা হয়েছে, যাতে বোতাম ক্লিক করলে ব্যবহারকারীর ইনপুট প্রদর্শিত হয়।
- একটি
- ফর্ম উপাদানগুলো ফ্রেমে যোগ করা:
frame.add()ব্যবহার করে লেবেল, টেক্সটফিল্ড এবং বোতামগুলো ফ্রেমে যোগ করা হয়েছে।
windowClosingইভেন্ট হ্যান্ডলার:- ফ্রেমটি বন্ধ করার জন্য
windowClosingইভেন্ট হ্যান্ডলার ব্যবহার করা হয়েছে।
- ফ্রেমটি বন্ধ করার জন্য
ফলাফল:
এটি রান করলে একটি উইন্ডো দেখাবে যেখানে দুটি লেবেল (Name এবং Age) এবং দুটি টেক্সটফিল্ড থাকবে। আপনি সেখানে নাম এবং বয়স ইনপুট দিয়ে "Submit" বোতামে ক্লিক করলে কনসোলে আপনার দেওয়া তথ্য প্রিন্ট হবে।
AWT (Abstract Window Toolkit)-এ Checkbox এবং RadioButton দুটি সাধারণ UI component যা ব্যবহারকারীর ইনপুট গ্রহণের জন্য ব্যবহৃত হয়। এদের মধ্যে কিছু গুরুত্বপূর্ণ পার্থক্য রয়েছে, এবং তাদের ব্যবহার ভিন্ন ধরনের নির্বাচনের জন্য হয়।
1. Checkbox:
Checkbox একটি ধরনের ইন্টারফেস উপাদান, যা ব্যবহারকারীকে এক বা একাধিক বিকল্প নির্বাচন করার অনুমতি দেয়। এটি সাধারণত এমন সিচুয়েশনে ব্যবহৃত হয় যেখানে একাধিক বিকল্প নির্বাচন করা সম্ভব হয়।
- ব্যবহার: Checkbox ব্যবহারকারীদের একাধিক বিকল্প নির্বাচন করতে দেয়, অর্থাৎ ব্যবহারকারী একাধিক চেকবক্স টিক করতে পারেন অথবা কোনো চেকবক্সে টিক না করতেও পারেন।
- চেকবক্সের মান: চেকবক্সের মান থাকে চেকড (selected) অথবা আনচেকড (deselected)।
- ইভেন্ট হ্যান্ডলিং: চেকবক্সে পরিবর্তন ঘটলে, এটি
ItemEventইভেন্ট ঘটায় যা প্রোগ্রাম দ্বারা ক্যাপচার করা যায়।
Checkbox উদাহরণ:
import java.awt.*;
import java.awt.event.*;
public class CheckboxExample {
public static void main(String[] args) {
Frame frame = new Frame("Checkbox Example");
Checkbox checkbox1 = new Checkbox("Option 1");
Checkbox checkbox2 = new Checkbox("Option 2");
checkbox1.setBounds(50, 50, 100, 30);
checkbox2.setBounds(50, 100, 100, 30);
frame.add(checkbox1);
frame.add(checkbox2);
frame.setSize(300, 200);
frame.setLayout(null);
frame.setVisible(true);
}
}
এখানে দুটি চেকবক্স রয়েছে যা ব্যবহারকারী নির্বাচিত করতে পারেন।
2. RadioButton:
RadioButton হলো একটি বিশেষ ধরনের চেকবক্স যা সাধারণত একাধিক বিকল্পের মধ্যে একটি বিকল্প নির্বাচন করতে ব্যবহৃত হয়। RadioButton সাধারণত গ্রুপে ব্যবহৃত হয়, যেখানে একে অপরের মধ্যে শুধুমাত্র একটি বেছে নেওয়া সম্ভব হয়।
- ব্যবহার: একাধিক রেডিও বাটনের মধ্যে শুধুমাত্র একটি বেছে নেওয়া যেতে পারে, অর্থাৎ একাধিক রেডিও বাটন গ্রুপের মধ্যে একটি বাটন নির্বাচিত করলে অন্য যে কোনো নির্বাচিত বাটন স্বয়ংক্রিয়ভাবে আনসিলেক্ট হয়ে যায়।
- গ্রুপিং: রেডিও বাটনগুলো CheckboxGroup-এর মাধ্যমে গ্রুপ করা হয় যাতে এক সময়ে শুধু একটি রেডিও বাটন নির্বাচিত হয়।
- ইভেন্ট হ্যান্ডলিং: রেডিও বাটনটি নির্বাচন বা পরিবর্তন হলে,
ItemEventইভেন্ট ঘটে।
RadioButton উদাহরণ:
import java.awt.*;
import java.awt.event.*;
public class RadioButtonExample {
public static void main(String[] args) {
Frame frame = new Frame("RadioButton Example");
CheckboxGroup group = new CheckboxGroup();
Checkbox radioButton1 = new Checkbox("Option 1", group, false);
Checkbox radioButton2 = new Checkbox("Option 2", group, false);
Checkbox radioButton3 = new Checkbox("Option 3", group, false);
radioButton1.setBounds(50, 50, 100, 30);
radioButton2.setBounds(50, 100, 100, 30);
radioButton3.setBounds(50, 150, 100, 30);
frame.add(radioButton1);
frame.add(radioButton2);
frame.add(radioButton3);
frame.setSize(300, 200);
frame.setLayout(null);
frame.setVisible(true);
}
}
এখানে CheckboxGroup ব্যবহার করা হয়েছে যা নিশ্চিত করে যে এক সময়ে শুধু একটি রেডিও বাটন নির্বাচিত থাকবে।
Checkbox এবং RadioButton এর মধ্যে পার্থক্য:
| বৈশিষ্ট্য | Checkbox | RadioButton |
|---|---|---|
| নির্বাচন সংখ্যা | একাধিক বিকল্প নির্বাচন সম্ভব | এক সময়ে একটি বিকল্প নির্বাচন করা যায় |
| গ্রুপিং | গ্রুপিং করার প্রয়োজন নেই | CheckboxGroup দ্বারা গ্রুপ করা হয় |
| ব্যবহার | একাধিক বিকল্পের মধ্যে এক বা একাধিক নির্বাচন | একাধিক বিকল্পের মধ্যে একটিই নির্বাচন |
| চেকড/আনচেকড অবস্থায় | চেকড বা আনচেকড হতে পারে | নির্বাচন বা অনির্বাচিত থাকতে পারে |
সারাংশ:
- Checkbox ব্যবহৃত হয় যেখানে একাধিক বিকল্প নির্বাচন করা সম্ভব এবং এটি স্বাধীনভাবে নির্বাচন করা যায়।
- RadioButton ব্যবহৃত হয় যেখানে একাধিক বিকল্পের মধ্যে শুধু একটি নির্বাচন করা যেতে পারে, এবং এটি সাধারণত একত্রে গ্রুপ করে ব্যবহৃত হয়।
এই দুই ধরনের উপাদান ব্যবহারকারীর কাছ থেকে ইনপুট নেওয়ার জন্য অত্যন্ত কার্যকর এবং সেগুলির বিভিন্ন ব্যবহার এবং ভিন্নতার কারণে প্রতিটি উপাদান আলাদা আলাদা পরিস্থিতিতে ব্যবহৃত হয়।
এডাব্লিউটি (AWT) লাইব্রেরির TextArea এবং Scrollbar হল দুটি গুরুত্বপূর্ণ কম্পোনেন্ট যা ব্যবহারকারীর ইন্টারফেসে টেক্সট প্রদর্শন এবং স্ক্রলিং সুবিধা প্রদান করে। এই দুটি উপাদানকে একসঙ্গে ব্যবহার করা যেতে পারে যাতে বড় আকারের টেক্সট বা ডেটা ব্যবহারকারীর সামনে সহজে প্রদর্শিত হয়। নিচে TextArea এবং Scrollbar ব্যবহারের কৌশল বিস্তারিতভাবে তুলে ধরা হলো।
১. TextArea (AWT TextArea)
TextArea হল একটি মাল্টিলাইন টেক্সট ফিল্ড, যা ব্যবহারকারীকে দীর্ঘ টেক্সট ইনপুট দেওয়ার বা প্রদর্শন করার সুবিধা দেয়। এটি সাধারণত বড় আকারের টেক্সট বা নোটস প্রদর্শনের জন্য ব্যবহার করা হয়।
ব্যবহার:
- TextArea তৈরি করতে, আমরা
TextAreaক্লাস ব্যবহার করি এবং এটি একটি উইন্ডো বা ফ্রেমের মধ্যে রাখতে হয়। - TextArea তে ব্যবহারকারী যেমন লেখা দিতে পারে, তেমনি এটি বিভিন্ন টেক্সট প্রদর্শন করতে সাহায্য করে।
import java.awt.*;
public class TextAreaExample {
public static void main(String[] args) {
Frame frame = new Frame("AWT TextArea Example");
// TextArea তৈরি
TextArea textArea = new TextArea("This is a TextArea\nYou can write multiple lines here.", 5, 30);
textArea.setBounds(50, 50, 300, 150);
frame.add(textArea); // TextArea যোগ করা
frame.setSize(400, 300);
frame.setLayout(null);
frame.setVisible(true);
}
}
এখানে, TextArea এর মধ্যে একাধিক লাইন লেখা যাবে এবং এটি একটি নির্দিষ্ট আকারে প্রদর্শিত হবে। আপনি 5টি লাইনের জন্য জায়গা এবং 30টি অক্ষরের জন্য কলাম নির্ধারণ করতে পারেন।
২. Scrollbar (AWT Scrollbar)
Scrollbar হল একটি স্ক্রলিং কম্পোনেন্ট যা ব্যবহারকারীর জন্য একটি উইন্ডো বা প্যানেল থেকে বেশি কনটেন্ট প্রদর্শন করার সুবিধা দেয়। এটি সাধারণত তখন ব্যবহার করা হয় যখন কনটেন্ট এর আকার স্ক্রিনের আকারের চেয়ে বড় হয়।
ব্যবহার:
- Scrollbar সাধারণত একটি TextArea বা অন্যান্য বড় কনটেন্টের সঙ্গে ব্যবহৃত হয় যাতে ব্যবহারকারী স্ক্রল করে কনটেন্ট দেখতে পারে।
- AWT এ
Scrollbarকম্পোনেন্ট দুটি ধরণের হয়: Horizontal Scrollbar (অক্ষাংশে স্ক্রল) এবং Vertical Scrollbar (অথবা উল্লম্ব স্ক্রল)।
উদাহরণ:
এখানে একটি TextArea এবং একটি Scrollbar ব্যবহার করা হয়েছে যাতে স্ক্রলিং সুবিধা প্রদান করা যায়।
import java.awt.*;
public class ScrollbarExample {
public static void main(String[] args) {
Frame frame = new Frame("AWT Scrollbar Example");
// TextArea তৈরি
TextArea textArea = new TextArea("This is a TextArea with Scrollbars\nYou can write multiple lines here.", 5, 30);
// Vertical Scrollbar যোগ করা
Scrollbar verticalScrollbar = new Scrollbar();
verticalScrollbar.setBounds(350, 50, 20, 150);
// Horizontal Scrollbar যোগ করা
Scrollbar horizontalScrollbar = new Scrollbar(Scrollbar.HORIZONTAL);
horizontalScrollbar.setBounds(50, 200, 300, 20);
frame.add(textArea); // TextArea যোগ করা
frame.add(verticalScrollbar); // Vertical Scrollbar যোগ করা
frame.add(horizontalScrollbar); // Horizontal Scrollbar যোগ করা
frame.setSize(400, 300);
frame.setLayout(null);
frame.setVisible(true);
}
}
এই উদাহরণে:
- TextArea তে অনেক টেক্সট আছে যা স্ক্রল করতে হয়।
- Vertical Scrollbar (উল্লম্ব স্ক্রল) এবং Horizontal Scrollbar (অক্ষাংশে স্ক্রল) যোগ করা হয়েছে যাতে ব্যবহারকারী স্ক্রল করে বড় কনটেন্ট দেখতে পারে।
- TextArea ব্যবহারকারীর জন্য একাধিক লাইন টেক্সট প্রদর্শন বা ইনপুট নেওয়ার সুবিধা দেয়। এটি সাধারণত বড় টেক্সট প্রদর্শন বা নোটস লেখার জন্য ব্যবহৃত হয়।
- Scrollbar হল একটি স্ক্রলিং কম্পোনেন্ট যা অনেক কনটেন্ট প্রদর্শন করার সময় ব্যবহারকারীর স্ক্রলিং সুবিধা প্রদান করে।
- একসাথে TextArea এবং Scrollbar ব্যবহার করে বড় আকারের ডেটা বা টেক্সট সহ স্ক্রলিং ইন্টারফেস তৈরি করা যায়।
Read more