Aparência das Telas em diferentes sistemas operacionais

Boa tarde.
Criei uma aplicação até este momento totalmente no Linux com o SceneBuilder. Fui Abrir no Windows e as funcionalidades foram perfeitas, porém, a aparência não ficou exatamente igual, alguns espaçamentos, bordas, ficaram ujm pouco fora,

A minha dúvida é: Isso é normal nesta mudança de sistema operacionais ou pode ser algo errado na minha programação.

Boa tarde Luiz,

Olha, realmente tive problemas na implementação entre esses dois sistemas operacionais.
Na verdade, eu uso Windows e ficou excelente, porém ao passar para Linux, houve diversos problemas de layout.
Confesso que não sei se isto é normal, o que fiz foi voltar meus testes para diversas edições do Windows (testei em Windows XP, Windows Vista, Windows 7 e Windows 8, onde eu programo efetivamente). Todos os testes foram bem-sucedidos. Apenas para Linux que tive problemas…

Se alguém souber o motivo destes problemas, seria legal postar suas experiências aqui.

Acredito que terei que gerar versões para sistemas operacionais…

Concordo, para algo imediato é o mais viável, mas me informarei sobre esta questão de sistemas operacionais. Se fosse possível alguma adaptação rápida, sem refatoração de código e layout, seria muito bom!

[quote=luizpicolo]Boa tarde.
Criei uma aplicação até este momento totalmente no Linux com o SceneBuilder. Fui Abrir no Windows e as funcionalidades foram perfeitas, porém, a aparência não ficou exatamente igual, alguns espaçamentos, bordas, ficaram ujm pouco fora,

A minha dúvida é: Isso é normal nesta mudança de sistema operacionais ou pode ser algo errado na minha programação.[/quote]

Isso costuma ocorrer, por exemplo, porque as métricas das fontes são um pouco diferentes.

Uma coisa que dá muitos problemas é criar uma aplicação no Windows (usando, por exemplo, uma fonte como Tahoma ou Calibri) e testar a mesma coisa no Linux, sem ter essas fontes da Microsoft instaladas.

Uma forma é você desenhar sua aplicação de forma que ela vá com as fontes que você desejar embutidas dentro da aplicação.

Pode não ficar perfeito, mas ajuda bastante.

Use fontes “open-source” como a OpenSans (substituto da Helvetica, ou Arial) ou a Charis SIL (substituta da Times). Você vai ter de ajustar sua aplicação para usar essas fontes, e não se esqueça que você vai ter de distribuir tais fontes com a aplicação também.

[quote=entanglement][quote=luizpicolo]Boa tarde.
Criei uma aplicação até este momento totalmente no Linux com o SceneBuilder. Fui Abrir no Windows e as funcionalidades foram perfeitas, porém, a aparência não ficou exatamente igual, alguns espaçamentos, bordas, ficaram ujm pouco fora,

A minha dúvida é: Isso é normal nesta mudança de sistema operacionais ou pode ser algo errado na minha programação.[/quote]

Isso costuma ocorrer, por exemplo, porque as métricas das fontes são um pouco diferentes.

Uma coisa que dá muitos problemas é criar uma aplicação no Windows (usando, por exemplo, uma fonte como Tahoma ou Calibri) e testar a mesma coisa no Linux, sem ter essas fontes da Microsoft instaladas.

Uma forma é você desenhar sua aplicação de forma que ela vá com as fontes que você desejar embutidas dentro da aplicação.

Pode não ficar perfeito, mas ajuda bastante.

Use fontes “open-source” como a OpenSans (substituto da Helvetica, ou Arial) ou a Charis SIL (substituta da Times). Você vai ter de ajustar sua aplicação para usar essas fontes, e não se esqueça que você vai ter de distribuir tais fontes com a aplicação também. [/quote]

Muito bom cara, muito obrigado pela ajuda!

Realmente não me atentei ao fato dessa variação de fontes do Linux e Windows. Foi realmente uma grande visão sua!

É uma coisa que costuma ocorrer com Swing, não sei se em JavaFX há o mesmo problema :slight_smile:

[quote=entanglement]É uma coisa que costuma ocorrer com Swing, não sei se em JavaFX há o mesmo problema :slight_smile:
[/quote]

Acredito que sim, pois são as mesmas fontes utilizadas, apesar de serem mais recomendadas alguns padrões como SansSerif, Helvetica, etc…

Isso é uma verdade. Apesar qeu estou usando font do sistema mesmo. Mas acredito que isso pode ajudar e muito.