একটি JTextArea একটি মাল্টি-লাইন টেক্সট কম্পোনেন্ট যা টেক্সট প্রদর্শন করতে বা ব্যবহারকারীকে টেক্সট ইনপুটের অনুমতি দেয় এবং এটি CaretListener ইন্টারফেস জেনারেট করবে যখন আমরা JTextArea কম্পোনেন্টের ফাংশনালিটি বাস্তবায়ন করার চেষ্টা করব। একটি JTextArea ক্লাস জাভাতে JTextComponent ক্লাস ইনহেরিট করে।
নিচের উদাহরণে, আমরা একটি JTextArea ক্লাস বাস্তবায়ন করতে পারি যেখানে ব্যবহারকারী ওয়ার্ড র্যাপ বা লাইন র্যাপ চেকবক্সগুলো সিলেক্ট করতে পারবে ItemListener ইন্টারফেস ব্যবহার করে।
উদাহরণ
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class JTextAreaTest {
public static void main(String[] args ) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame("JTextArea Test");
frame.setSize(350, 275);
final JTextArea textArea = new JTextArea(15, 65);
frame.add(new JScrollPane(textArea));
final JCheckBox wordWrap = new JCheckBox("word wrap");
wordWrap.setSelected(textArea.getWrapStyleWord());
wordWrap.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent ie) {
textArea.setWrapStyleWord(wordWrap.isSelected());
}
});
frame.add(wordWrap, BorderLayout.NORTH);
final JCheckBox lineWrap = new JCheckBox("line wrap");
lineWrap.setSelected(textArea.getLineWrap());
lineWrap.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent ie) {
textArea.setLineWrap(lineWrap.isSelected());
}
});
frame.add(lineWrap, BorderLayout.SOUTH );
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
frame.setVisible(true);
}
});
}
}
আউটপুট
