如何创建弹出消息以提醒用户不完整的字段?

问题描述 投票:1回答:1

所以,我需要创建一个弹出消息,如果他们没有输入,将提醒用户。

例如,我有3个组合框 - 如果我要留下其中一个没有用户输入并尝试更改场景,则会弹出一个警告,要求我“请确保所有字段都已完成”。

下面的代码只是一个简单的弹出窗口,我需要链接到myController类。

import javafx.application.Application;
import static javafx.application.Application.launch;
import javafx.event.*;
import javafx.geometry.Pos;
import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.control.Button;
import javafx.scene.control.TextField;
import javafx.scene.layout.*;
import javafx.stage.*;

import java.awt.*;
import java.awt.Label;
import java.awt.Window;

public class MissingData extends Application {
    private static final String[] SAMPLE_TEXT = "hjgjguk".split(" ");

    @Override
    public void start(Stage primaryStage) throws Exception {
        VBox textContainer = new VBox(10);
        textContainer.setStyle("-fx-background-color: pink; -fx-padding: 10;");

        primaryStage.setScene(new Scene(textContainer, 300, 200));
        primaryStage.show();
}
java javafx fxml scenebuilder
1个回答
1
投票

JavaFX附带了Dialogs API,它为弹出警报提供了几个选项。毫不奇怪,其中一个类是javafx.scene.control.Alert类。你真的没有必要为此编写自己的弹出类。

创建和显示简单的Alert确实非常简单:

Alert alert = new Alert(Alert.AlertType.WARNING);
alert.setTitle("Error");
alert.setHeaderText("This is header text.");
alert.setContentText("This is content text.");
alert.showAndWait();

该代码生成以下警报:

screenshot


例如,为了验证用户输入,您的ComboBox值之一,只需使用简单的if语句来检查有效选择。如果条目缺失(null)或无效,请显示alert

if (comboBox1.getValue() == null) {
  alert.showAndWait();
}

更高级的Dialog还有更多选项。你可以在这里看到一些很好的例子:JavaFX Dialogs (official

© www.soinside.com 2019 - 2024. All rights reserved.