Olá. Eu estou utilizando a biblioteca do @Andrauss na janela principal do meu projeto. Eu tentei adicionar um ícone de 128x128 na minha janela a partir do onActionShow:
@FXML
void ActionShow() {
new MainWindow()
.setTitle("Meus dados")
.show().setMaximized().setIcon(new Image(getClass().getResourceAsStream("/icons/tray_icon.png")));
}
Mas nenhum erro para encontrar o arquivo foi exibido, e o ícone não está sendo alterado. Alguém tem alguma ideia do que eu fiz de errado?
Olá, use o setIcon antes do show.
E no seu caso seria:
.setIcon(new Image("/icons/tray_icon.png"));
1 curtida
Cara testei aqui e funcionou, pode ser o caminho dá imagem, sobrescreva o método o show do seu controller e use getWindow ().getIcons().Add(sua imagem)
Não adianta. Mas se tivesse algum erro para encontrar a imagem, eu não deveria receber um IOException ou um NullPointerException?
Nesse caso não é lançada exception pois não há manipulação direta do Image. Fez o que falei? Sobrescreveu o onShow?
1 curtida
Não, eu estava adicionando no onActionShow
. Que falta de atenção. Agora está funcionando:
@Override
public void onShow() {
getWindow().getIcons().add(new Image("/icons/tray_icon.png"));
}
Valeu de pela ajuda.