Dúvida sobre JButton [RESOLVIDO]  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Javax2011
JavaChild
[Avatar]
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."
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
[Email] [WWW] [MSN]
Javax2011
JavaChild
[Avatar]
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."
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
[Email] [WWW] [MSN]
Javax2011
JavaChild
[Avatar]
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."
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
[Email] [WWW] [MSN]
Javax2011
JavaChild
[Avatar]
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."
Javax2011
JavaChild
[Avatar]
Membro desde: 31/08/2011 06:52:53
Mensagens: 105
Offline

Isso foi resolvido com:

"The Art of making Art."
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team