Olá pessoal.
Estou desenvolvendo algumas telas em swing no Netbeans 5.5.1 no Windows XP de um pequeno sistema de controle jurídico para desktop. Minha intenção é implementá-lo para que seja utilizado tanto em linux e windows sem (significativas) alterações no código fonte.
Sendo assim, fiz alguns testes: após o término das interfaces eu peguei o meu projeto Java e copiei para um sistema com o Linux Ubuntu 7.04. Alguns botões não mostravam mais a legenda (ficavam com reticências). Cores foram trocadas (por exemplo: a linha envolta do painel qdo configurado para titled border) e mais outras pequenas discrepâncias.
Alguém já passou por isso? Como faço para compatibilizar totalmente as interfaces ? É possível realmente ou tenho que alterar a versão do linux - no caso modificando algumas fontes e cores.
Muito obrigado a todos.
Eu recomendo que vc utilize o Look and feel padrão do java (Metal). Eu acho esse laf muito bonito, ao contrário de muita gente por ai… :lol:
Alternativamente vc pode detectar qual o SO e definir o LAF em tempo de execução, se tiver rodando Win, coloca o laf do win, se tiver rodando linux, coloca o laf do linux.
Agora esse problema seu ai eu nunca vi, eu tenho o windows xp e o ubuntu 7.04 na minha máquina e meus programas swing consigo rodar normalmente.
Dica: quando vc usa o laf Metal no NetBeans ao invés do padrão, ele fica ligeiramente mais rápido.
try
{
// Define layout de acordo com o SO que estiver rodando
UIManager.setLookAndFeel
(UIManager.getSystemLookAndFeelClassName());
}
catch (Exception e)
{
}
Olá mfjeng,
Tive um problema parecido com o programa que estava fazendo e que testei nas duas plataformas.
Mas eu estava usando o UIManager.setLookAndFeel(UIManager.getSystemLoonAndFeel);. Resolvi acertando o layout pelo Linux (uso o Kurumin 7) de modo que pudesse ver tudo certinho. Quando voltei para o Windows, tudo estava ok, os botões ficaram maiores apenas em alguns pixels.
P.S.: existe uma forma melhor de vc trabalhar nos dois sistemas sem ter que estar copiando o projeto de um para o outro. Eu configurei o CVS dos dois sistemas para atualizarem um mesmo repostório em uma partição Windows.
Oi,
amigo, acho que não seria um problema com o LAF…
e sim com Layout…
Os formatos em layout’s nullos não funcionaum iguais aos S.O’s windows e Linux…
Para suas telas então, sugiro não trabalhar com o Layout null, se não… você vai ter que modifca-las ao passar para o linux.
e outra coisa, cores e letras… o Linux principalmente o Ubuntu, geralmente a maneira que ele identifica a pontuação é diferente… caso um botão seu tenha ´`~^ é bem provavel que se o ambiente não estiver configurado corretamente para este formato, a letrinha que possui estes simbulos ira desaparecer! e seu botão poderá ficar: Botão -> Boto ou Bot.o
Tchauzin!
Muito obrigado pessoal!
coma a “lina” comentou o layout interfere sim de acordo com o SO
mas apenas nas bordas elas fica mais “grossas” de acordo com o stilo
do linux por exemplo , mas nada que mude drasticamente a aparência do programa.
aconselho a não ficar perdendo tempo em cores e bordas
mas sim numa interface mais padrão e funcional ^^
caxxias não estou perdendo em bordas e cores, foi só uma questão. Valeu…
Poisé,
não é somente bordas não,
eu tive essa experiencia… programava em windows e quando ia passar pra linux (que no meu caso, uso Ubuntu desde sempre hehe) ficava estranhas…
e realmente, é o Layout null das telas que eu utilizava.
Tchauzin!
Nunca tive problemas do tipo usando o Matisse.
Sou sortudo d+!!! :lol:
Pois é, como o Marcos disse, o Matisse não dá problema algum. O que muda do Linux para o Windows é o L&F do sistema que torna as letras maiores ou menores, o que pode prejudicar a visualização das Strings nos JButtons ou JLabels da vida.
As fontes comuns do Windows (Arial, Tahoma, Courier New etc.) não existem com esse nome no Linux, e serão substituídas por fontes parecidas mas com algumas propriedades diferentes.
Se você quiser “forçar a barra”, desenvolva seu programa no Linux usando algumas fontes (como Luxi Mono, Luxi Sans) e quando rodar seu programa no Windows instale essas fontes que costumam vir com o Linux.
So pode, ou entao voce faz telinhas simples demais.
Utilizamos o netbeans acreditando no poder do matisse por 1semana quando pintou uma telinha mais complexa o netbeans decepcionou.
Agora estamos utilizando um plugin chamado JIGLOO para o eclipse.
E o projeto volta a um bom ritmo de producao.