Como alterar o Look and Feel no NetBeans  XML
Índice dos Fóruns » Interface Gráfica
Autor Mensagem
exilado
Thread.start()
[Avatar]

Membro desde: 24/03/2010 09:34:38
Mensagens: 33
Offline

Olá Pessoal,
Sou novo no Java e acabei de me deparar com um problema.
Quando eu crio um botão utilizando as Ferramentas do NetBeans, ele cria normal e se eu visualizar ta tudo certo, mas na hora que eu executo o botão fica diferente. Ele fica maior e quadrado.

Alquem pode me Ajudar?
Obrigado!

This message was edited 2 times. Last update was at 18/12/2010 11:43:44


Ass. Fernando Rocha
[MSN]
davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

Isso acontece pois quando você executa o NetBeans, por padrão, ele roda com o Look and Feel (L&F) (aparência) parecido com o do Sistema Operacional. Sendo assim, a contrução de interfaces gráficas segue o mesmo L&F do NetBeans. Entretanto, quando você executa um programa feito em Swing, os componentes, por padrão, são rederizados usando o L&F padrão do Swing. A partir do Java 5, o L&F padrão é o OceanTheme (baseado no L&F Metal).

Enfim, para resolver isso você pode proceder de duas formas:
1 - Crie um novo ícone do NetBeans na sua área de trabalho, acesse as propriedades do ícone (botão direito -> propriedades) e insira o parâmetro --laf no destino. Ficaria algo assim:

Fazendo isso, quando você abrir o NetBeans novamente, ele terá a aparência padrão de um programa feito em Swing, usando para isso a classe javax.swing.plaf.metal.OceanTheme passada como valor do parâmetro --laf.

2 - A outra possibilidade seria você fazer o inverso, ou seja, forçar o seu programa a rodar no L&F usado pelo NetBeans. Isso dá um pouco mais de trabalho, pois o NetBeans vai executar de forma diferente em cada sistema operacional, sempre seguindo o L&F padrão do kit de janelamento do SO (que precisa ser configurado no código ou por meio de alguma forma de configuração externa), fazendo com que a aparência da sua interface gráfica não seja consistente. Uma forma de se fazer isso, seria você inserir, logo no início do método main, o seguinte trecho de código:



Eu recomendo que você use a primeira abordagem, dado que daquela forma, você terá um L&F uniforme em diversos SOs. Eu normalmente mantenho dois ícones do NetBeans. Um sem a opção do L&F, para trabalhar com outros tipos de projetos que não sejam usando Swing, e um ícone com a opção do L&F, para projetos que requerem construção de interfaces gráficas em Swing.

[]´s

This message was edited 2 times. Last update was at 17/12/2010 11:46:46


Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
exilado
Thread.start()
[Avatar]

Membro desde: 24/03/2010 09:34:38
Mensagens: 33
Offline

Obrigado davidbuzatto.

Vou fazer os testes aqui.

Ass. Fernando Rocha
[MSN]
exilado
Thread.start()
[Avatar]

Membro desde: 24/03/2010 09:34:38
Mensagens: 33
Offline

davidbuzatto

cara, fiz os testes aqui.
o 1° exemplo funcionou, a visualização está igual a execução.
mas como eu faço para os botões ficarem aredondados igual estava na visualização antes de eu alterar o destino do atalho.
Obigado.

Ass. Fernando Rocha
[MSN]
davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

Troque "Nome do L&F Utilizado Aqui" por "Windows" no código que te passei.
Lembre-se que se você for rodar sua aplicação no Ubuntu por exemplo, o código vai lançar uma exceção e o L&F padrão (Metal) é que será usado.
Se sua aplicação for ser utilizada somente no Windows, você não vai ter problema.

Para listar o nome dos L&Fs disponíveis na sua instalação do JDK, basta usar o seguinte código:

Note que é o mesmo for do código que passei, só que está mostrando o nome dos L&Fs disponíveis. Se quiser fazer alguns testes, vá trocando o "Nome do L&F Utilizado Aqui" pelos valores mostrados na saída que o código acima gerar.

[]´s

This message was edited 1 time. Last update was at 18/12/2010 00:00:19


Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
exilado
Thread.start()
[Avatar]

Membro desde: 24/03/2010 09:34:38
Mensagens: 33
Offline

Cara Valeu mesmo.

agora funcionou certo.
O Nimbus é filé tbm.
Obrigado

Ass. Fernando Rocha
[MSN]
davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

Se quiser usar o Nimbus, rode o NetBeans usando o Nimbus tbm:

Como o Nimbus é um L&F independente de paltaforma, vc pode usar ele traquilamente. Ele está presente a partir da versão 1.6u10 do Java.

A partir do Java 7 ele vai se tornar o L&F padrão do Swing, ficando no lugar do OceanTheme (aquele azul) que é feito em cima do Metal.

[]´s

Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

Ops, falei besteira.
O Nimbus não vai ser o L&F padrão. Apesar de fazer parte da API padrão a partir do Java 7, quem quiser usá-lo vai ter que configurar manualmente.

Fonte: http://blogs.oracle.com/henrik/2010/11/nimbus_look-and-feel_in_jdk_7.html

[]´s

Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

Olha que legal. Dá p/ mudar as cores base do Nimbus tbm.
Dessa forma ele fica esverdeado:



Alaranjado:

Avermelhado:

Tons de cinza:

Fonte: http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/color.html
Outras propriedades que podem ser alteradas: http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/_nimbusDefaults.html#primary

This message was edited 1 time. Last update was at 18/12/2010 11:37:36


Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
davidbuzatto
Moderador
[Avatar]

Membro desde: 07/08/2004 23:47:57
Mensagens: 4013
Localização: Vargem Grande do Sul - SP
Offline

exilado, tomei a liberdade de alterar o título do seu tópico para que ele seja achado mais facilmente através das buscas ok?
O título não estava condizente com a sua dúvida, que está relacionada aos Look and Feels e não a botões.

[]´s

Seja educado. Agradeça quem te ajudou. Não custa nada.
Dúvidas de Java? Utilize o fórum! Não respondo via MP.

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Fowler)
"A vida é um escândalo, e no final dá sempre errado. O que humaniza o homem é o fracasso."

http://davidbuzatto.com.br | GitHub | uHunt | CV Lattes | Last.fm
[WWW]
exilado
Thread.start()
[Avatar]

Membro desde: 24/03/2010 09:34:38
Mensagens: 33
Offline

davidbuzatto

Muito Obrigado pela Ajuda.
Agora vou Procurar saber mai sobre o Look and Feels nos livros aqui.
valew.

Ass. Fernando Rocha
[MSN]
colosos=colossus
JavaChild
[Avatar]

Membro desde: 22/06/2009 17:08:26
Mensagens: 130
Localização: Belém
Offline

eu posso por exemplo em uma interface metalica transformar apenas um jButton para Nimbus ou Windows ?
mcirqueira
JavaChild
[Avatar]

Membro desde: 19/07/2011 15:31:29
Mensagens: 122
Localização: São Luís - Maranhão
Offline

colosos=colossus wrote:eu posso por exemplo em uma interface metalica transformar apenas um jButton para Nimbus ou Windows ?


Minha dúvida também.

Entrem lá no meu blog:
http://www.marciomeucanto.blogspot.com.br/

"Em terra onde não há carne, urubu é frango."

"Caíste sozinho ou foi o camelo que te arremessou? Tanto faz: o fato é que eu caí."

"Por causa da rosa, a erva daninha acaba sendo regada."

"Um centavo economizado é um centavo ganho."

"Todos os gatos adoram peixe, mas odeiam ficar com as patas molhadas."

"Com a mentira se consegue o almoço, mas não o jantar."

"Alimenta teu cão e ele guardará tua casa; faze jejuar teu gato e ele te comerá os ratos."

Não fazem mais GNU/Linux como antigamente!=)

Você não precisa ser inteligente, basta ter motivação.

"Tudo tem o seu tempo determinado, e há tempo para todo o propósito debaixo do céu", Ec 3,1

"Se quer ser famoso, faça um bom programa de código livre, se quer dinheiro, escreva um pago e não sendo código livre"

http://www.facebook.com/mcirqueira11/

Eu e Deus !!! EnJAVAndo os Neurônios!!!
while (EuViver() == true ){
Estudo();
Trabalho();
LouvarDeus();
}
[Email] [WWW]
InicianteJavaHenrique
GUJ Ranger
[Avatar]

Membro desde: 16/02/2011 12:20:00
Mensagens: 784
Localização: São Vicente - SP
Offline

mcirqueira wrote:
colosos=colossus wrote:eu posso por exemplo em uma interface metalica transformar apenas um jButton para Nimbus ou Windows ?


Minha dúvida também.


Não. Você pode remover o L&F de determinados componentes, mas não pode usar 2 simultaneamente.


Jogo de Xadrez com I.A feito em Java 2D. - HFS Softwares


"Felizes os Tópicos que estavam aqui neste dia: 07/12/2008, neste horário: 22:11:56 e neste local." - Henrique Ferreira da Silva


"O negócio de software é binário, você é 1 ou 0, vivo ou morto." - Filme Ameaça Virtual


"Existem 10 tipos de pessoas no mundo: as que entendem binário e as que não entendem."


"Compartilhar conhecimentos é uma forma de alcançar a imortalidade." - Dalai Lama


"Aquele que pergunta é um tolo por cinco minutos, mas aquele que não pergunta permanece um tolo para sempre." - Provérbio Chinês


"O topo da inteligência é alcançar a humildade." - Textos Judaicos


"Os computadores são incrivelmente rápidos, precisos e burros; Os homens são incrivelmente lentos, imprecisos e brilhantes; Juntos, seus poderes ultrapassam os limites da imaginação." - Albert Einstein



/**
*
* Programador Java
* @author Henrique Ferreira da Silva
* @since Julho/2010
*
*/
mcirqueira
JavaChild
[Avatar]

Membro desde: 19/07/2011 15:31:29
Mensagens: 122
Localização: São Luís - Maranhão
Offline

Não. Você pode remover o L&F de determinados componentes, mas não pode usar 2 simultaneamente.

Como

Entrem lá no meu blog:
http://www.marciomeucanto.blogspot.com.br/

"Em terra onde não há carne, urubu é frango."

"Caíste sozinho ou foi o camelo que te arremessou? Tanto faz: o fato é que eu caí."

"Por causa da rosa, a erva daninha acaba sendo regada."

"Um centavo economizado é um centavo ganho."

"Todos os gatos adoram peixe, mas odeiam ficar com as patas molhadas."

"Com a mentira se consegue o almoço, mas não o jantar."

"Alimenta teu cão e ele guardará tua casa; faze jejuar teu gato e ele te comerá os ratos."

Não fazem mais GNU/Linux como antigamente!=)

Você não precisa ser inteligente, basta ter motivação.

"Tudo tem o seu tempo determinado, e há tempo para todo o propósito debaixo do céu", Ec 3,1

"Se quer ser famoso, faça um bom programa de código livre, se quer dinheiro, escreva um pago e não sendo código livre"

http://www.facebook.com/mcirqueira11/

Eu e Deus !!! EnJAVAndo os Neurônios!!!
while (EuViver() == true ){
Estudo();
Trabalho();
LouvarDeus();
}
[Email] [WWW]
 
Índice dos Fóruns » Interface Gráfica
Ir para:   
Powered by JForum 2.1.8 © JForum Team