मुख्य सामग्री पर जाएँ
CrossFly 100% ओपन सोर्सGitHub पर फ़ॉलो करें
CrossFlyCrossFly
शुरू करें

यह पृष्ठ पुर्तगाली से मशीन-अनुवादित है और इसमें त्रुटियाँ हो सकती हैं। पुर्तगाली संस्करण प्रामाणिक है।

टेक्स्ट क्षेत्र (TextArea)

TextArea एक बहु-पंक्ति फ़ील्ड है — TextField के समान आधार (TextInput), जिसमें पंक्ति विभाजन, ऊर्ध्वाधर स्क्रॉलिंग और प्रति-पंक्ति आइकन हैं।

पूर्ण उदाहरण (कॉपी करें, पेस्ट करें और चलाएँ)

package com.exemplo;

import dev.crossfly.ui.*;
import dev.crossfly.ui.layout.*;
import dev.crossfly.ui.style.*;   // TextAreaStyle (व्यवहारिक कॉन्फ़िग)

/** चलाने योग्य मुख्य स्क्रीन। launcher (classname) की ओर संकेत करें और चलाएँ: gradlew :lwjgl3:run */
public class MainWindow extends Window
{
   @Override
   public void onShow() throws Exception
   {
      super.onShow();
      setLayout(new VerticalLayout());

      // बहु-पंक्ति क्षेत्र: स्पष्ट ऊँचाई की आवश्यकता है।
      // यहाँ कंटेनर के अंश के माध्यम से (ऊँचाई का 40%); विकल्प: स्टाइल में autoHeight।
      TextArea obs = new TextArea().caption("Observações");
      add(0.4f, obs);

      // लेबल जहाँ पढ़ी गई सामग्री प्रदर्शित होगी
      Label resultado = new Label("");
      add(LAY_AUTO, resultado);

      // प्रति-कुंजी कोई callback नहीं है: सबमिट पर getText() पढ़ें
      Button enviar = new Button("Enviar");
      enviar.onAction(c -> resultado.setText("Chars = " + obs.getText().length()));
      add(LAY_AUTO, enviar);
   }
}

नीचे दिए गए स्निपेट केवल मुख्य भाग दिखाते हैं (जो onShow() के अंदर जाता है)। चलाने के लिए, उन्हें ऊपर दिए गए MainWindow ढाँचे में रखें।

बुनियादी उपयोग

TextArea obs = new TextArea()
   .caption("Observações")
   .text("");
painel.add(0.5f, obs);   // कंटेनर की ऊँचाई का 50% घेरता है (VerticalLayout)

// सामग्री पढ़ना:
String texto = obs.getText();

कंस्ट्रक्टर और fluent API

सदस्य प्रभाव
new TextArea() / new TextArea("texto") खाली / प्रारंभिक मान के साथ
.caption(String) कैप्शन
.text(String) / setText(String) सामग्री सेट करता है
.rightIcons(Icon...) दाईं ओर आइकन, प्रति क्रिया पंक्ति एक
.rightIconAction(int linha, Action) किसी विशिष्ट आइकन की क्रिया
getText() / clearText() पढ़ना / साफ़ करना
scrollToTop() · scrollToBottom() · scrollToLine(int) प्रोग्रामेटिक स्क्रॉलिंग

आकार देना

TextField (एक पंक्ति की ऊँचाई) के विपरीत, TextArea को स्पष्ट ऊँचाई की आवश्यकता होती है — VerticalLayout में एक अंश दें या स्टाइल में autoHeight:

obs.getStyle().autoHeight(Relative.ofFont(6f));   // ~6 पंक्ति ऊँचाई

अच्छे तौर-तरीके

  • पर्याप्त ऊँचाई आरक्षित करें (कंटेनर का अंश या autoHeight) — अन्यथा यह 1-पंक्ति फ़ील्ड बन जाता है।
  • टेक्स्ट जोड़ते समय (जैसे: log/chat) अंतिम पंक्ति दृश्यमान रखने के लिए scrollToBottom() का उपयोग करें।

आम गलतियाँ

  • ऊँचाई सेट न करना → क्षेत्र बहुत छोटा रहता है।
  • क्षैतिज स्क्रॉलिंग की उम्मीद करना — TextArea पंक्ति तोड़ता है; एक स्क्रॉल करने योग्य पंक्ति के लिए TextField का उपयोग करें।

यह भी देखें

क्या यह पृष्ठ उपयोगी था?