यह पृष्ठ पुर्तगाली से मशीन-अनुवादित है और इसमें त्रुटियाँ हो सकती हैं। पुर्तगाली संस्करण प्रामाणिक है।
विनाशकारी क्रिया से पहले पुष्टि कैसे माँगें
उद्देश्य। किसी चीज़ को हटाने/त्यागने से पहले, दो बटनों वाला एक Alert दिखाएँ (उदा.: “रद्द करें” और “हटाएँ”)। विनाशकारी क्रिया केवल पुष्टि बटन के callback में ही निष्पादित करें।
उपयोग की गई APIs
new Alert(String title, String message, String... buttonTexts)— डायलॉग बनाता है।AlertएकWindowहै; बटन सक्रियSkinका अनुसरण करते हैं।Alert.buttonAction(int index, Component.Action action)— किसी बटन की क्रिया परिभाषित करता है (0-आधारित इंडेक्स)। बिना क्रिया के, बटन केवल बंद होता है (hide())।Alert.show()— डायलॉग को स्टैक करता है (push modal)।WindowStyle.fadeBackground(int alpha)— नीचे की विंडो को गहरा करता है (0–255)।getStyle()के माध्यम से style प्राप्त करें।Hint.show(String message, int delayMs)— फ़ीडबैक का एक छोटा toast दिखाता है।
पूर्ण उदाहरण (कॉपी करें, पेस्ट करें और चलाएँ)
package com.exemplo;
import dev.crossfly.ui.*;
import dev.crossfly.ui.layout.*;
/** मुख्य निष्पादन योग्य स्क्रीन: एक बटन पुष्टि Alert दिखाता है। */
public class MainWindow extends Window
{
@Override
public void onShow() throws Exception
{
super.onShow();
setLayout(new VerticalLayout());
add(new Label("Pedido #1234"));
add(new Button("Excluir pedido").onAction(e -> confirmarExclusao()));
}
private void confirmarExclusao()
{
Alert alert = new Alert("Excluir pedido", "Esta ação não pode ser desfeita.", "Cancelar", "Excluir");
// पृष्ठभूमि को गहरा करता है (0..255)। Alert का getStyle() एक WindowStyle है।
((WindowStyle) alert.getStyle()).fadeBackground(150);
// इंडेक्स 0 = "रद्द करें": बिना buttonAction के, बटन खुद ही Alert बंद कर देता है।
// इंडेक्स 1 = "हटाएं": विनाशकारी क्रिया + फीडबैक।
alert.buttonAction(1, e ->
{
excluirPedido(); // विनाशकारी क्रिया
alert.hide(); // संवाद बंद करता है
Hint.show("Pedido excluído", 1500);
});
alert.show();
}
private void excluirPedido()
{
// ... आपका हटाने का तर्क ...
}
}
नीचे का अंश केवल मुख्य भाग दिखाता है। चलाने के लिए, इसे ऊपर दिए गए
MainWindowढाँचे में रखें।
न्यूनतम अंश
// स्रोत में सत्यापित: Alert.buttonAction(idx, Action); WindowStyle.fadeBackground(int 0-255); Hint.show(msg, ms)
Alert alert = new Alert("Excluir pedido", "Esta ação não pode ser desfeita.", "Cancelar", "Excluir");
// पृष्ठभूमि को गहरा करता है (0..255)। Alert का getStyle() एक WindowStyle है।
((WindowStyle) alert.getStyle()).fadeBackground(150);
// इंडेक्स 0 = "रद्द करें": बिना buttonAction के, बटन खुद ही Alert बंद कर देता है।
// इंडेक्स 1 = "हटाएं": विनाशकारी क्रिया + फीडबैक।
alert.buttonAction(1, e ->
{
excluirPedido(); // विनाशकारी क्रिया
alert.hide(); // संवाद बंद करता है
Hint.show("Pedido excluído", 1500);
});
alert.show();
आश्चर्य से बचाने वाली बातें:
- यदि आप किसी बटन के लिए
buttonActionपरिभाषित नहीं करते, तो AlertonAction(e -> hide())जोड़ देता है — बटन बिना और कुछ किए डायलॉग बंद कर देता है। इसीलिए “रद्द करें” सामान्यतःbuttonActionकी आवश्यकता नहीं रखता। - विनाशकारी क्रिया हमेशा पुष्टि बटन (यहाँ, इंडेक्स 1) में रखें, कभी भी डिफ़ॉल्ट व्यवहार के रूप में नहीं।
fadeBackgroundalpha 0–255 लेता है (0xAARRGGBB नहीं)। 150 सामग्री को मिटाए बिना एक ध्यान देने योग्य गहरापन देता है।
और गहराई में जाएँ
- डायलॉग और मोडल
- संबंधित रेसिपी: स्क्रीन खोलना और बंद करना
क्या यह पृष्ठ उपयोगी था?प्रतिक्रिया के लिए धन्यवाद!