| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/10/2011 20:46:58
|
Javax2011
JavaChild
Membro desde: 31/08/2011 06:52:53
Mensagens: 105
Offline
|
Bom pessoal, é uma dúvida meio boba, mas não consegui achar resposta ainda.
Eu crio um botão, deixo ele sem borda, com fundo transparente e insiro uma imagem.
Até ai beleza, mas no primeiro clique que esse botão recebe, aparecem bordas e um fundo, que indicam que ele foi clicado.
Como faço para isso não aparecer?
Achei que isso resolveria:
This message was edited 1 time. Last update was at 18/10/2011 11:28:48
|
"The Art of making Art." |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/10/2011 20:53:44
|
marcobiscaro2112
JWizard
Membro desde: 01/12/2008 11:56:04
Mensagens: 2408
Localização: São Paulo - SP
Offline
|
Só por curiosidade: você precisa realmente deixar o fundo transparente e sem borda? A imagem que você usa é a imagem de um botão?
|
Marco Biscaro.
Seja livre!
Você sabia que provavelmente há milhares de arquivos duplicados no seu computador?
Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/10/2011 21:00:18
|
Javax2011
JavaChild
Membro desde: 31/08/2011 06:52:53
Mensagens: 105
Offline
|
Sim, é uma imagem de um botão, mas com as bordas arredondadas.
Não haveria necessidade de retirar as bordas e a cor de fundo?
|
"The Art of making Art." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/10/2011 21:17:37
|
marcobiscaro2112
JWizard
Membro desde: 01/12/2008 11:56:04
Mensagens: 2408
Localização: São Paulo - SP
Offline
|
É que talvez usar imagens para seus botões não seja a melhor maneira de se fazer.
Imagine ter que criar uma imagem diferente para cada botão que for necessário... Além disso, se você precisar trocar o texto do botão, terá que refazer a imagem. Ou pior, se precisar trocar o modelo dos botões terá que refazer todas as imagens de todos os botões!
Além disso, é possível que os botões fiquem inconsistentes com outros controles (exemplo: botões arredondados e barras de rolagem retangulares).
Em Java há suporte para LookAndFeel (a aparência da aplicação). Quando se usa essa funcionalidade, basta trocar o LookAndFeel do programa e todos os controles (botões, radios, checkboxes, caixas de texto, etc.) ficaram consistentes.
Tutorial de L&F: http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/index.html
Uma lista de alguns L&F famosos: http://geeknizer.com/best-java-swing-look-and-feel-themes-professional-casual-top-10/
|
Marco Biscaro.
Seja livre!
Você sabia que provavelmente há milhares de arquivos duplicados no seu computador?
Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/10/2011 21:23:44
|
Javax2011
JavaChild
Membro desde: 31/08/2011 06:52:53
Mensagens: 105
Offline
|
LookAndFeel, se não me engano, altera toda a aplicação.
No meu caso, estou fazendo um sistema bem visual, então realmente necessito de fugir ao padrões.
Mas agradeço pelos links, em um outro trabalho vou usar LookAndFeel.
E voltando, eu realmente precisava usar uma imagem no botão.
A não ser que eu adicionasse essa imagem numa JLabel, mas como eu deveria configurar o MouseListener nesse caso?
|
"The Art of making Art." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/10/2011 21:37:54
|
marcobiscaro2112
JWizard
Membro desde: 01/12/2008 11:56:04
Mensagens: 2408
Localização: São Paulo - SP
Offline
|
Sim, o LookAndFeel altera toda a aplicação.
O problema de usar um JLabel é que ele não recebe eventos como Enter ou o pressionamento da barra de espaço para ativação do evento.
Uma solução possível (não sei se é a mais fácil, mas é a que me vem na mente) é escrever uma classe filha de BasicButtonUI (ou MetalButtonUI) com os métodos paintButtonPressed e paintFocus vazios.
Aí, você faria o seguinte no(s) botão(ões) que você quer desenhar de forma especial:
|
Marco Biscaro.
Seja livre!
Você sabia que provavelmente há milhares de arquivos duplicados no seu computador?
Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/10/2011 21:44:46
|
Javax2011
JavaChild
Membro desde: 31/08/2011 06:52:53
Mensagens: 105
Offline
|
É uma possibilidade!
Vou dar uma pesquisada nesse BasicButtonUI.... valeu!
|
"The Art of making Art." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/10/2011 11:28:17
|
Javax2011
JavaChild
Membro desde: 31/08/2011 06:52:53
Mensagens: 105
Offline
|
Isso foi resolvido com:
|
"The Art of making Art." |
|
|
 |
|
|