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

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

Alert से पुष्टि कैसे मांगें

उद्देश्य. शीर्षक, संदेश और एक या अधिक बटनों वाला एक मोडल डायलॉग दिखाना, और दबाए गए बटन के अनुसार एक क्रिया निष्पादित करना। विनाशकारी पुष्टियों (“Excluir?”), उपयोगकर्ता की जानकारी अपेक्षित करने वाली चेतावनियों, या सरल चयनों के लिए उपयोग करें।

प्रयुक्त APIs

  • new Alert(String title, String message, String... buttonTexts) — अलर्ट बनाता है। बटनों के टेक्स्ट कंस्ट्रक्टर में पास किए जाते हैं (इंडेक्स 0, 1, 2…)। यदि कोई सूचित न हो, तो "OK" उपयोग करता है।
  • alert.buttonAction(int index, Component.Action action) — उस इंडेक्स के बटन का कॉलबैक पंजीकृत करता है। कोई addButton नहीं है; बटन पहले से ही कंस्ट्रक्टर में घोषित किए गए हैं।
  • alert.show() — डायलॉग दिखाता है (Window से विरासत में मिला)।
  • alert.getStyle().fadeBackground(int alpha) — अलर्ट के पीछे की पृष्ठभूमि को गहरा करता है (0–255)। getStyle() अलर्ट की WindowStyle लौटाता है।
  • alert.getButton(int index) — उस इंडेक्स का Button लौटाता है (show() के बाद उपलब्ध)।

गैर-स्पष्ट व्यवहार: यदि आप किसी बटन के लिए buttonAction पंजीकृत नहीं करते हैं, तो वह छूने पर केवल अलर्ट को बंद (hide()) कर देता है। इसलिए, “Cancelar” के लिए, अक्सर आपको कॉलबैक की आवश्यकता भी नहीं होती।

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

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

      // ट्रिगर बटन: स्पर्श करने पर Alert खोलता है
      Button btn = new Button("Excluir registro");
      btn.onAction(origin ->
      {
         Alert alert = new Alert(
            "Excluir registro",
            "Esta ação não pode ser desfeita. Deseja continuar?",
            "Cancelar",   // इंडेक्स 0
            "Excluir");   // इंडेक्स 1

         // पृष्ठभूमि को गहरा करता है (वैकल्पिक, पर विनाशकारी मोडल के लिए अनुशंसित)
         alert.getStyle().fadeBackground(150);

         // बटन 0 (रद्द करें) बिना callback → केवल बंद करता है।
         // बटन 1 (हटाएं) क्रिया निष्पादित करता है और बंद करता है:
         alert.buttonAction(1, o ->
         {
            excluirRegistro();
            alert.hide();
         });

         alert.show();
      });
      add(LAY_FILL, btn);
   }

   private void excluirRegistro()
   {
      // ... आपका हटाने का तर्क ...
   }
}

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

न्यूनतम अंश

Alert alert = new Alert(
   "Excluir registro",
   "Esta ação não pode ser desfeita. Deseja continuar?",
   "Cancelar",   // इंडेक्स 0
   "Excluir");   // इंडेक्स 1

// पृष्ठभूमि को गहरा करता है (वैकल्पिक, पर विनाशकारी मोडल के लिए अनुशंसित)
alert.getStyle().fadeBackground(150);

// बटन 0 (रद्द करें) बिना callback → केवल बंद करता है।
// बटन 1 (हटाएं) क्रिया निष्पादित करता है और बंद करता है:
alert.buttonAction(1, origin ->
{
   excluirRegistro();
   alert.hide();
});

alert.show();

सत्यापन नोट (कोड 2026). स्रोत में पुष्ट: कंस्ट्रक्टर Alert(title, message, String... buttonTexts) + buttonAction(int, Action)। बटनों का लेआउट (iOS/Material/Flutter) सक्रिय Skin की AlertStyle द्वारा तय होता है — लॉजिक कोड बदले बिना दृश्य बदलने के लिए Skin बदलें (या alert.skin(new IOSSkin()) उपयोग करें)। अलर्ट की चौड़ाई/ऊँचाई शीर्षक, संदेश और बटनों से स्वतः गणना की जाती है।

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

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