কম্পিউটার

কিভাবে আমরা জাভাতে একটি JTextArea এর ভিতরে লাইন সংখ্যা প্রদর্শন করতে পারি?


A JTextArea JTextComponent এর একটি সাবক্লাস এবং এটি একটি মাল্টি-লাইন টেক্সট টেক্সট প্রদর্শন বা ব্যবহারকারী একটি টেক্সট প্রবেশ করার অনুমতি দেয় উপাদান. একটি JTextArea একটি ক্যারেটলিসনার তৈরি করতে পারে ইন্টারফেস, যা ক্যারেট আপডেট ইভেন্ট শুনতে পারে। ডিফল্টরূপে, JTextArea লাইন নম্বরগুলি প্রদর্শন করে না, আমাদের একটি D ব্যবহার করে কোডটি কাস্টমাইজ করতে হবে অকুমেন্ট লিসেনার ইন্টারফেস।

উদাহরণ

import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.text.Element;
public class LineNumberTextAreaTest extends JFrame {
   private static JTextArea textArea;
   private static JTextArea lines;
   private JScrollPane jsp;
   public LineNumberTextAreaTest() {
      setTitle("LineNumberTextArea Test");
      jsp = new JScrollPane();
      textArea = new JTextArea();
      lines = new JTextArea("1");
      lines.setBackground(Color.LIGHT_GRAY);
      lines.setEditable(false);
      //  Code to implement line numbers inside the JTextArea
      textArea.getDocument().addDocumentListener(new DocumentListener() {
         public String getText() {
            int caretPosition = textArea.getDocument().getLength();
            Element root = textArea.getDocument().getDefaultRootElement();
            String text = "1" + System.getProperty("line.separator");
               for(int i = 2; i < root.getElementIndex(caretPosition) + 2; i++) {
                  text += i + System.getProperty("line.separator");
               }
            return text;
         }
         @Override
         public void changedUpdate(DocumentEvent de) {
            lines.setText(getText());
         }
         @Override
         public void insertUpdate(DocumentEvent de) {
            lines.setText(getText());
         }
         @Override
         public void removeUpdate(DocumentEvent de) {
            lines.setText(getText());
         }
      });
      jsp.getViewport().add(textArea);
      jsp.setRowHeaderView(lines);
      add(jsp);
      setSize(400, 275);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setLocationRelativeTo(null);
      setVisible(true);
   }
   public static void main(String[] args) {
      new LineNumberTextAreaTest();
   }
}

আউটপুট

কিভাবে আমরা জাভাতে একটি JTextArea এর ভিতরে লাইন সংখ্যা প্রদর্শন করতে পারি?


  1. কিভাবে আমরা জাভাতে একটি JComboBox এর আইটেমগুলি সাজাতে পারি?

  2. জাভাতে JTextArea এর ভিতরে একটি বোল্ড টেক্সট কিভাবে প্রদর্শন করবেন?

  3. কিভাবে আমরা জাভাতে একটি JTextArea এর ভিতরে লাইন মোড়ানো এবং শব্দ মোড়ানো পাঠ্য বাস্তবায়ন করতে পারি?

  4. কিভাবে আমরা জাভাতে একটি JTextField এর ভিতরে অক্ষরের সংখ্যা সীমিত করতে পারি?