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

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

Group

Group “चेक करने योग्य” कॉम्पोनेंट (option, switch और किसी भी Checkable) को परस्पर अनन्य चयन के लिए समूहित करता है — radio button व्यवहार। जब कोई सदस्य चिह्नित होता है, तो अन्य स्वचालित रूप से अचिह्नित हो जाते हैं, वैकल्पिक रूप से एनिमेटेड ट्रांज़िशन (fade) के साथ। यह एक Component नहीं है: कुछ भी नहीं बनाता, यह केवल सदस्यों का रजिस्टर + अनन्यता का तर्क है।

🟢 · पैकेज: dev.crossfly.ui · विस्तारित करता है: java.lang.Object (दृश्य नहीं) · स्टाइल: — (अपनी कोई स्टाइल नहीं)

कब उपयोग करें

  • option के एक समूह को अनन्य radio buttons में बदलना।
  • switch के एक समूह या अपने किसी भी Checkable को अनन्य बनाना।

कब उपयोग न करें

  • एकल टॉगल के लिए → समूह के बिना switch या option पर्याप्त हैं।

दिखावट

कोई नहीं। Group पूरी तरह तार्किक है। प्रत्येक बटन की दिखावट सदस्यों की ज़िम्मेदारी है (जिन्हें चेक करने योग्य दृश्य कॉम्पोनेंट होना चाहिए)।

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

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());

      Label saida = new Label("Selecionado: Cartão");
      add(LAY_AUTO, saida);

      // Group, Options को परस्पर अपवर्जी (radio) बनाता है, बदलाव पर fade के साथ
      Group g = new Group().fade(true);

      Option[] ops = {
         new Option("Cartão").group(g).checked(true),
         new Option("Boleto").group(g),
         new Option("Pix").group(g)
      };

      for (Option o : ops)
      {
         // Group चयनित को नहीं रखता: हर सदस्य सूचित करता है और हम isChecked() पढ़ते हैं
         o.onAction(c -> {
            for (Option x : ops)
               if (x.isChecked())
                  saida.setText("Selecionado: " + x.text);
         });
         add(LAY_AUTO, o);
      }
   }
}

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

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

Group g = new Group().fade(true);                       // fade = एनिमेटेड ट्रांज़िशन

Option a = new Option("Opção A").group(g);
Option b = new Option("Opção B").group(g);
Option c = new Option("Opção C").group(g);

container.add(LAY_AUTO, a);
container.add(LAY_AUTO, b);
container.add(LAY_AUTO, c);
// किसी एक को चुनने पर, बाकी fade के साथ अचयनित हो जाती हैं।

कंस्ट्रक्टर

कंस्ट्रक्टर विवरण
Group() खाली समूह, बिना fade के।

गुण और अनुकूलन

गुण / मेथड प्रकार डिफ़ॉल्ट क्या करता है
fade(boolean) Group (फ्लुएंट) false चयन के एनिमेटेड ट्रांज़िशन को चालू/बंद करता है।
fade boolean (फ़ील्ड) false fade की अवस्था (पठन)।
add(Component) void — एक सदस्य पंजीकृत करता है (पहचान द्वारा, डुप्लिकेट को अनदेखा करता है)।
remove(Component) void — एक सदस्य हटाता है (यदि सदस्य नहीं है तो no-op)।
select(Component sender) void — sender को छोड़कर सभी सदस्यों को अचिह्नित करता है।

आम तौर पर आप add/select को सीधे नहीं कॉल करते: चेक करने योग्य स्वयं .group(group) के माध्यम से पंजीकृत होता है और चिह्नित होने पर select(this) कॉल करता है।

कॉलबैक और इवेंट

Group के कोई कॉलबैक नहीं हैं। प्रत्येक सदस्य के onAction में परिवर्तनों पर प्रतिक्रिया दें और isChecked() से जांचें।

अवस्थाएं

Group “कौन सा चयनित है” नहीं रखता — यह केवल यह सुनिश्चित करता है कि जब कोई सूचित करे कि वह चिह्नित हुआ, तो अन्य बंद रहें। कोई getSelected() नहीं है: प्रत्येक सदस्य में अवस्था जांचें (isChecked())।

पता लगाना कि कौन सा सदस्य चयनित है

Group g = new Group();
Option[] ops = {
   new Option("Cartão").group(g).checked(true),
   new Option("Boleto").group(g),
   new Option("Pix").group(g)
};
for (Option o : ops)
   container.add(LAY_AUTO, o);

// किसी बिंदु पर (उदा.: "Confirmar" बटन):
for (Option o : ops)
   if (o.isChecked())
      System.out.println("selecionado: " + o.text);

सर्वोत्तम प्रथाएं

  • पंजीकरण को कॉम्पोनेंट पर छोड़ें: .group(g) आंतरिक रूप से पहले ही group.add(this) कॉल करता है।
  • अनन्यता केवल इसलिए काम करती है क्योंकि Option/Switch चिह्नित होने पर select(this) कॉल करते हैं; एक अपना Checkable भी ऐसा ही करे।

सामान्य गलतियां

  • एक अस्तित्वहीन getSelected() ढूंढना — isChecked() जांचते हुए सदस्यों पर इटरेट करें।
  • किसी सदस्य में .group(g) भूलना: वह परस्पर अनन्यता से बाहर रह जाता है।

यह भी देखें

  • क्षेत्र गाइड: ui/ · रेसिपीज़: cookbook/
  • अवधारणा (कॉम्पोनेंट की संरचना): concepts/
  • संबंधित कॉम्पोनेंट: option · switch
क्या यह पृष्ठ उपयोगी था?