Você tem algumas opções.
Em primeiro lugar, a Alert
classe aceita um AlertType
parâmetro ao criar o alerta. Há 5 built-in opções para escolher, cada um com o seu próprio ícone:
INFORMATION
, CONFIRMATION
, WARNING
, ERROR
, E NONE
(que fornece nenhum ícone em tudo).
Você pode selecionar um destes ícones ao criar o Alert
, passando o AlertType
para o construtor:
Alert alert = new Alert(AlertType.ERROR);
Se, no entanto, você quer fornecer sua própria imagem ícone, você pode fazê-lo acessando o dialogPane
do Alert
e definindo a graphic
propriedade:
alert.getDialogPane().setGraphic(new ImageView("your_icon.png"));
Abaixo está uma aplicação simples que demonstra como usar uma imagem de ícone personalizado para a 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();
}
}
E o resultado Alert
:
Nota: Como resposta igualmente válido de Sai Dandem ilustra, você não está restrito a utilizar um ImageView
para o gráfico. O setGraphic()
método aceita qualquer Node
objeto, de modo que você poderia facilmente passar um Button
, Hyperlink
ou outro componente UI.