खोज…


टिप्पणियों

JavaFX 8 अपडेट 40 में डायलॉग जोड़े गए।

TextInputDialog

TextInputDialog उपयोगकर्ता को सिंगल String इनपुट करने के लिए कहने की अनुमति देता है।

TextInputDialog dialog = new TextInputDialog("42");
dialog.setHeaderText("Input your favourite int.");
dialog.setTitle("Favourite number?");
dialog.setContentText("Your favourite int: ");

Optional<String> result = dialog.showAndWait();

String s = result.map(r -> {
    try {
        Integer n = Integer.valueOf(r);
        return MessageFormat.format("Nice! I like {0} too!", n);
    } catch (NumberFormatException ex) {
        return MessageFormat.format("Unfortunately \"{0}\" is not a int!", r);
    }
}).orElse("You really don't want to tell me, huh?");

System.out.println(s);

ChoiceDialog

ChoiceDialog उपयोगकर्ता को विकल्पों की सूची से एक आइटम चुनने की अनुमति देता है।

List<String> options = new ArrayList<>();
options.add("42");
options.add("9");
options.add("467829");
options.add("Other");

ChoiceDialog<String> dialog = new ChoiceDialog<>(options.get(0), options);
dialog.setHeaderText("Choose your favourite number.");
dialog.setTitle("Favourite number?");
dialog.setContentText("Your favourite number:");

Optional<String> choice = dialog.showAndWait();

String s = choice.map(c -> "Other".equals(c) ? 
              "Unfortunately your favourite number is not available!"
              : "Nice! I like " + c + " too!")
           .orElse("You really don't want to tell me, huh?");

System.out.println(s);

चेतावनी

Alert एक साधारण पॉपअप है जो बटन के एक सेट को प्रदर्शित करता है और उपयोगकर्ता द्वारा क्लिक किए गए बटन के आधार पर परिणाम प्राप्त होता है:

उदाहरण

यह उपयोगकर्ता को यह तय करने देता है, यदि वह वास्तव में प्राथमिक चरण को बंद करना चाहता है:

@Override
public void start(Stage primaryStage) {
    Scene scene = new Scene(new Group(), 100, 100);

    primaryStage.setOnCloseRequest(evt -> {
        // allow user to decide between yes and no
        Alert alert = new Alert(Alert.AlertType.CONFIRMATION, "Do you really want to close this application?", ButtonType.YES, ButtonType.NO);

        // clicking X also means no
        ButtonType result = alert.showAndWait().orElse(ButtonType.NO);
        
        if (ButtonType.NO.equals(result)) {
            // consume event i.e. ignore close request 
            evt.consume();
        }
    });
    primaryStage.setScene(scene);
    primaryStage.show();
}

ध्यान दें कि Locale आधार पर बटन टेक्स्ट अपने आप समायोजित हो जाता है।

कस्टम बटन पाठ

एक बटन में दिखाया गया पाठ अनुकूलित किया जा सकता है, एक बनाने के द्वारा ButtonType खुद के उदाहरण:

ButtonType answer = new ButtonType("42");
ButtonType somethingElse = new ButtonType("54");

Alert alert = new Alert(Alert.AlertType.NONE, "What do you get when you multiply six by nine?", answer, somethingElse);
ButtonType result = alert.showAndWait().orElse(somethingElse);

Alert resultDialog = new Alert(Alert.AlertType.INFORMATION,
                               answer.equals(result) ? "Correct" : "wrong",
                               ButtonType.OK);

resultDialog.show();


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow