Jump to content

Interface Gráfica em JAVA


NameException
 Share

Recommended Posts

Boas noites,

Estou a desenvolver um software (académico), que tem como interface a linha de comandos apenas... Gostaria de dar um ar mais "profissional" com uma interface mais usável... Mas é algo de que ainda explorei muito pouco em JAVA.

Por onde comerçar? Ja li algumas coisas de Swing... Que outras API's poderão ter uma curva de aprendizagem melhor??? Sugestões??

Obrigado

Abraço

Link to comment
Share on other sites

O swing é a api mais evoluída q o java tem para aplicações gráficas.

Tens tb o awt. Mas recomendo q utilizes Swing.

Podes tb ler umas coisas sobre o padrão MVC, assim ficas a saber como deves organizar o teu código numa aplicação com swing.

Claro q usar MVC é uma recomendação e não uma obrigação.

Matraquilhos para Android.

Gratuito na Play Store.

https://play.google.com/store/apps/details?id=pt.bca.matraquilhos

Link to comment
Share on other sites

Obrigado pelas respostas...

Essa do Padrão MVC é uma boa dica  😄

Agora outra questão, e talvez a que me tem dificuldado mais o avanço: por exemplo, num website é simples o "salto" entre páginas com <a href="...">...</a>, mas como aplicar a mesma lógica numa interface JAVA? Ou seja, tendo um menu, como "saltar" para outra "página" da interface? Ok, será através da um ActionEvent detectado sobre o menu, mas onde terá que estar definida a "página" para onde se realizará o "salto"? Na mesma classe da "página principal" ou será definida noutra classe?

É tal a minha confusão, que nem sei se soube explicar a minha dúvida...

Abraços

Link to comment
Share on other sites

Obrigado pelas respostas...

Essa do Padrão MVC é uma boa dica  😄

Agora outra questão, e talvez a que me tem dificuldado mais o avanço: por exemplo, num website é simples o "salto" entre páginas com <a href="...">...</a>, mas como aplicar a mesma lógica numa interface JAVA? Ou seja, tendo um menu, como "saltar" para outra "página" da interface? Ok, será através da um ActionEvent detectado sobre o menu, mas onde terá que estar definida a "página" para onde se realizará o "salto"? Na mesma classe da "página principal" ou será definida noutra classe?

É tal a minha confusão, que nem sei se soube explicar a minha dúvida...

Abraços

Tens que esquecer essa lógica, as aplicações de desktop em geral têm uma arquitectura diferente baseada em eventos e não em pedidos.

Tens um loop que está sempre a correr e cada vez que há um evento ele corre-te uma função que tu definiste.

Link to comment
Share on other sites

Tens que esquecer essa lógica, as aplicações de desktop em geral têm uma arquitectura diferente baseada em eventos e não em pedidos.

Tens um loop que está sempre a correr e cada vez que há um evento ele corre-te uma função que tu definiste.

Eu diria que a lógica no fundo é a mesma. Alias a web está cada vez mais a tornar-se numa arquitectura baseada em eventos (AJAX, por exemplo). 😄

<3 life

Link to comment
Share on other sites

Numa aplicação swing podes usar como views classes que extendem de JPanel.

Fazes uma série de JPanels, com botões, caixas de texto, etc..., e sempre q carregas num botão do menú, é chamado o controller q depois mostra o jpanel q queres e esconde os outros.

Podes tb usar várias JFrames, mas é incómodo ter uma aplicação q está sempre a abrir janelas, paineis q ficam sempre na mm janela é mais agradável.

Matraquilhos para Android.

Gratuito na Play Store.

https://play.google.com/store/apps/details?id=pt.bca.matraquilhos

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.