Pessoal,
preciso verificar o texto de um jlabel se esta visivel para torna-lo invisivel e vice versa, porem sem mudar o fundo do jlabel que podera ter cores diferentes em determinados momentos.
Você quer que a visibilidade de sua JLabel seja invertida, é isso?
Já tentou:
label.setVisible(!label.isVisible());
:?:
Sim, mas gostaria que o label continuasse visivel, pois quero fazer apenas o texto piscar.
Olha cara, acredito que alternando ela entre invisível e visível você vai ter um efeito de “pisca-pisca”.
Mas se você preferir, pode alterar a cor da fonte da sua JLabel para a mesma cor de fundo:
label.setForeground(color);
Como o colega acima disse:
Para fazer ele piscar você poderia utilizar o timer do Swing, onde a cada actionPerformed você troca a cor do label…
Pois é, pensei em colocar a cor do fundo igual para deixar invisivel, porem como a cor do fundo nem sempre é a mesma, teria que pegar a cor do fundo e aplicar ao texto. Voce sabe pegar a cor e comparar em um if por exemplo?
O getBackground() retorna a cor de fundo do label…
Você testou a opção de deixar invisível?
Acho que é mais fácil :lol:
Mas enfim, pegar a cor de fundo vai depender do container do seu JLabel.
Se estiver num JPanel, por exemplo, você pode utilizar o getBackground().
Se seu label estiver opaco (setOpaque(true)), é só fazer o que indiquei acima, senão usa o setVisible mesmo…
Pessoal obrigado pelas dicas, utilizei a cor do background no Foreground do JLabel como sugeriram e funcionou.
Abraço a todos.