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

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

सिलेक्शन Dropdown का उपयोग कैसे करें

उद्देश्य. आइटम की एक सूची से एकल चयन प्रदान करना, जो एक तीर वाले बटन के रूप में प्रदर्शित होता है जो टैप करने पर एक पॉपअप (ListViewWindow) खोलता है। चयन करने के बाद, Dropdown का टेक्स्ट चयनित आइटम दिखाने लगता है। स्क्रीन पर स्थायी जगह घेरे बिना कुछ/मध्यम विकल्पों में से चुनने के लिए इसका उपयोग करें।

उपयोग की गई APIs

  • new Dropdown(String placeholder, String[] items) — एक प्लेसहोल्डर टेक्स्ट और आइटम के array के साथ ड्रॉपडाउन बनाता है।
  • new Dropdown(String[] items) — डिफ़ॉल्ट प्लेसहोल्डर "Select..." वाला वेरिएंट।
  • dropdown.onSelect(Component.Action action) — उपयोगकर्ता द्वारा पॉपअप में चयन की पुष्टि करने के बाद ट्रिगर होने वाला कॉलबैक।
  • dropdown.getSelectedIndex() — चयनित आइटम का इंडेक्स, या यदि कोई नहीं तो -1।
  • dropdown.getSelectedText() — चयनित आइटम का टेक्स्ट, या यदि कोई नहीं तो null।
  • dropdown.setSelectedIndex(int index) — प्रोग्रामैटिक रूप से चयन करता है और प्रदर्शित टेक्स्ट को अपडेट करता है।
  • dropdown.popupHeightRatio(float) / dropdown.popupWidthRatio(float) — पॉपअप के आकार को स्क्रीन के सापेक्ष समायोजित करते हैं।

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

package com.exemplo;

import dev.crossfly.ui.*;
import dev.crossfly.ui.layout.*;

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

      String[] estados = { "Acre", "Bahia", "São Paulo", "Paraná" };

      Dropdown uf = new Dropdown("Selecione o estado", estados);

      uf.onSelect(origin ->
      {
         int i = uf.getSelectedIndex();       // -1 यदि कुछ नहीं चुना
         String texto = uf.getSelectedText(); // null यदि कुछ नहीं चुना
         filtrarPorEstado(texto);
      });

      // प्रोग्रामेटिक पूर्व-चयन (वैकल्पिक)
      uf.setSelectedIndex(2);   // "São Paulo"

      add(0.5f, uf);            // पंक्ति में आधी चौड़ाई (GridLayout)
   }

   private void filtrarPorEstado(String estado)
   {
      // ... चुने गए राज्य के अनुसार सूची फ़िल्टर करें ...
   }
}

नीचे दिया गया अंश केवल मुख्य भाग दिखाता है। चलाने के लिए, इसे ऊपर दिए गए MainWindow ढाँचे में रखें।

न्यूनतम अंश

String[] estados = { "Acre", "Bahia", "São Paulo", "Paraná" };

Dropdown uf = new Dropdown("Selecione o estado", estados);

uf.onSelect(origin ->
{
   int i = uf.getSelectedIndex();       // -1 यदि कुछ नहीं चुना
   String texto = uf.getSelectedText(); // null यदि कुछ नहीं चुना
   filtrarPorEstado(texto);
});

// प्रोग्रामेटिक पूर्व-चयन (वैकल्पिक)
uf.setSelectedIndex(2);   // "São Paulo"

add(0.5f, uf);            // पंक्ति में आधी चौड़ाई (GridLayout)

सत्यापन नोट (कोड 2026). स्रोत में पुष्टि: Dropdown, Button को एक्सटेंड करता है; कंस्ट्रक्टर Dropdown(String placeholder, String[] items) और Dropdown(String[] items); onSelect(Action), getSelectedIndex(), getSelectedText(), setSelectedIndex(int)। पॉपअप स्क्रीन पर उपलब्ध स्थान के अनुसार स्वयं तय करता है कि वह ड्रॉपडाउन के ऊपर या नीचे खुलेगा, और बाहर टैप करने पर बंद हो जाता है। कॉलबैक onSelect, selectedIndex/text के पहले ही अपडेट हो जाने के बाद चलता है, इसलिए इसके अंदर getSelectedText() को कॉल करना सुरक्षित है।

गहराई से जानें

  • विजेट पृष्ठ: Dropdown · कैननिकल स्रोत: अध्याय 14
  • मार्कर के साथ एकल/बहु चयन: checkbox-e-radio.md
क्या यह पृष्ठ उपयोगी था?