É possível alterar o ícone do aplicativo usando JavaFX ou precisa ser feito usando o Swing?
172
Supondo que seu estágio seja "estágio" e o arquivo esteja no sistema de arquivos:
stage.getIcons().add(new Image("file:icon.png"));
Conforme o comentário abaixo, se estiver envolto em um frasco contendo, você precisará usar a seguinte abordagem:
stage.getIcons().add(new Image(<yourclassname>.class.getResourceAsStream("icon.png")));
stage.getIcons().add( new Image( <yourclassname>.class.getResourceAsStream( "icon.png" )));
obras..dektop
arquivo apropriado . Veja minha descrição aquiEu tentei isso e funciona totalmente. O código é:
icon.png está na mesma pasta que os arquivos de origem.
fonte
Programa completo para iniciantes :) Este programa define o ícone do StackOverflowIcon.
Screnshot de saída
Não há necessidade de alterar o código. Ainda funciona bem. Testado e verificado em Java 1.8 (1.8.0_45). O caminho pode ser definido como local ou remoto, ambos são suportados.
OU
Espero que ajude. Obrigado!!
fonte
você pode adicioná-lo em fxml. Nível de estágio
fonte
Se você possui uma pasta de imagens e o ícone é salvo, use este
e se você o estiver usando diretamente do seu pacote, o que não é uma boa prática, use este
e se você tiver uma estrutura de pastas e seu ícone dentro desse uso
fonte
Se o seu icon.png estiver no diretório de recursos e lembre-se de colocar um '/' antes, caso contrário, não funcionará
fonte
O que você acha de criar um novo pacote, por exemplo, image.icons no diretório src e mover para lá as imagens .png? Do que você só precisa escrever:
Esta solução funciona perfeitamente para mim, mas ainda não tenho certeza se está correta (iniciante aqui).
fonte
resources
pasta.Você pode adicionar mais de um ícone com tamanhos diferentes usando esse método. As imagens devem ter tamanhos diferentes da mesma imagem e o melhor tamanho será escolhido.
eg. 16x16, 32,32
fonte
pasta de imagens precisa estar na pasta Recurso.
fonte
Você pode facilmente colocar o ícone no seu aplicativo usando esta linha de código
stage.getIcons (). add (new Image ("caminho da imagem"));
fonte
É um bom hábito criar uma pasta de imagens na sua pasta src e obter imagens dela.
fonte
Eu usei isso no meu aplicativo
Aqui a janela é o palco.
fonte
Se você executar o arquivo jar, o código especificado por Michael Berry alterará o ícone na barra de título e na barra de tarefas. O ícone de atalho não pode ser alterado.
Se você executar um programa nativo compilado com com.zenjava, deverá adicionar um link ao ícone do programa:
Isso adicionará um ícone ao atalho e barra de tarefas.
fonte
Alterne ícones no tempo de execução:
Além das respostas aqui, descobri que depois de atribuir um ícone ao seu aplicativo pela primeira vez, você não pode alterná-lo apenas adicionando um novo ícone ao seu estágio (isso seria útil se você precisar alternar o ícone do seu aplicativo aplicativo ativado / desativado).
Para definir um novo ícone durante o tempo de execução, use o método getIcons (). Remove (0) antes de tentar adicionar um novo ícone, onde 0 é o índice do ícone que você deseja substituir, como é mostrado aqui:
Para acessar o estágio a partir de outros métodos ou classes, você pode criar um novo campo estático para o estágio na classe principal, para acessá-lo desde o método start () encapsulando um método estático que você pode acessar de qualquer lugar no seu aplicativo .
fonte
Se você
Invalid URL or resource not found
colocou seu icon.png na pasta "bin" no seu espaço de trabalho.fonte
Outra maneira fácil de inserir seu próprio ícone na barra de título no JavaFX é adicionar a imagem ao seu estágio primário usando o seguinte método:
Certifique-se de importar javafx.scene.image.Image (se estiver usando um ide como o netbeans, isso deve ser feito automaticamente para você).
fonte
Eu tentei isso e funciona:
fonte