У вас есть несколько вариантов.
Прежде всего, класс Alert
принимает параметр AlertType
при создании оповещения.Есть 5 встроенных опций на выбор, каждый со своим собственным значком:
INFORMATION
, CONFIRMATION
, WARNING
, ERROR
и NONE
(который вообще не имеет значка)).
Вы можете выбрать один из этих значков при создании Alert
, передав AlertType
в конструктор:
Alert alert = new Alert(AlertType.ERROR);
Если, однако, вы хотите предоставить собственное изображение значка, вы можете сделать это, открыв dialogPane
Alert
и установив свойство graphic
:
alert.getDialogPane().setGraphic(new ImageView("your_icon.png"));
Ниже приведено простое приложение, демонстрирующее, как использовать настраиваемое изображение значка для Alert
:
import javafx.application.Application;
import javafx.scene.control.Alert;
import javafx.scene.image.ImageView;
import javafx.stage.Stage;
public class Main extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
// Build the Alert
Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setTitle("Alert Test");
alert.setHeaderText("This uses a custom icon!");
// Create the ImageView we want to use for the icon
ImageView icon = new ImageView("your_icon.png");
// The standard Alert icon size is 48x48, so let's resize our icon to match
icon.setFitHeight(48);
icon.setFitWidth(48);
// Set our new ImageView as the alert's icon
alert.getDialogPane().setGraphic(icon);
alert.show();
}
}
и получившегося Alert
:
Примечание: Как показывает одинаково действительный ответ Саи Дандема, вы не ограничены использованием ImageView
для графики.Метод setGraphic()
принимает любой объект Node
, так что вы также можете легко передать Button
, Hyperlink
или другой компонент пользовательского интерфейса.