|
||
|
|
| Conheça o Plugfeed | » Início » Programação » Interface gráfica com Swing --> |
|
Avaliação:
![]() ![]() ![]() ![]() | Publicado em: 04/12/2006Interface gráfica com Swing
Dayvid Lima Desenvolvedor Java há mais de 5 anos, atualmente consultor java em empresa multinacional utilizando recursos avançados da tecnologia J2EE com servidores de aplicação em plataforma Solaris para gerenciamento de redes e integração de sistemas.
Interface gráfica com Swing
Nesse artigo mostrarei como criar uma aplicação com interface gráfica em Swing utilizando um código de exemplo. Como é o primeiro artigo com utilização de Swing, estarei abordando apenas aspectos básicos e essenciais para o funcionamento do mesmo, pretendo em um artigo próximo detalhar mais alguns pontos interessantes. Aqui temos um "snapshot" da tela do programa final:
import javax.swing.*; // define a classe HelloWorld private static void createAndShowGUI() { // cria e define o tamanho da janela // adiciona um label com a frase "Plugando webmasters de todo o Brasil" // mostra a janela public static void main(String[] args) { }
A segunda linha importa o objeto Dimension, utilizado para definir o tamanho que a janela da aplicação terá: Esses são os dois pacotes necessários para o funcionamento do HelloWorld.java. Entretanto a maioria das aplicações desenvolvidas com Swing, também necessitam fazer a importação de mais dois pacotes AWT: Esses pacotes são necessários porque os components do Swing utilizam a infra-estrutura do AWT, incluindo o modelo de evento AWT. O modelo do evento controla como um componente reage aos eventos tais como cliques em botões e movimento do mouse. Cada programa com uma interface gráfica do Swing deve ter pelo menos um recipiente top-level do Swing. Um recipiente top-level do Swing fornece o suporte que os componentes do Swing necessitam para desenhar e manipular os eventos. Há três tipos de recipientes top-level geralmente utilizados do Swing: JFrame, JDialog, e (para applet) JApplet. Cada objeto de JFrame executa uma única janela principal, e cada JDialog uma janela secundária (um dependente da janela em uma outra janela). Cada objeto de JApplet executa a área de exposição de um applet dentro de uma janela de browser O exemplo de HelloWorld tem somente um recipiente top-level, um JFrame. Executado como um exemplo da classe de JFrame, um frame é uma janela que, por default, tem decorações tais como uma borda, um título, e botões para minimizar e fechar a janela. As aplicações com um GUI (Inteface Gráfica de Usuário) utilizam tipicamente pelo menos um frame. Aqui está o código que define o tipo de decoração que terá a janela, e cria o frame: // atribui uma decoração mais bonita a janela // cria e define o tamanho da janela // adiciona um label com a frase "Plugando webmasters de todo o Brasil" // mostra a janela Essas duas linhas de código criam o componente JLabel e o adicionam ao frame: JLabel label = new JLabel("Plugmasters");
Para fazer o programa fechar quando o botão de fechar é pressionado, nós incluímos este código: Nota: Em alguns programas mais antigos, no lugar de uma única chamada ao método setDefaultCloseOperation, você verá um código parecido com o abaixo, essa outra forma será abordada em um próximo artigo: Por fim, para instanciar o nosso frame utilizamos o seguinte código: public static void main(String[] args) { } Poderiamos apenas chamar o método createAndShowGUI(); da seguinte maneira: Porém da forma anterior (rodando como uma thread) estamos prevenindo uma pequena falha que pode acontecer de que o frame feche antes mesmo de conseguir ser visualizado por você no momento da execução. Existem diversas formas de compilar e rodar o programa mostrado aqui, segue abaixo os passos para rodar a partir da linha de comando do DOS: 1 - copie e cole o código em um arquivo de texto qualquer Gostaria de aproveitar para agradecer as pessoas que deixaram seus comentários e enviaram e-mails em meu primeiro artigo aqui, obrigado a todos. Artigos relacionados
Adriano <adri.pinhalfacu@yahoo.com.br>
Gostei muito da maneira como o assunto foi abordado, de maneira simples, porém direta!!!
Meus parabens ![]() ![]() ![]() ![]() ![]() muito bem explicado!
Parabens! ![]() ![]() ![]() ![]() ![]() lucas <luca_123@hotmail.com>
oi tudo bom
![]() ![]() ![]() ![]() ![]() jair <jaircuritiba@gmail.com>
Concordo com o Adriano.
Dayvid parabéns, você tem visão de como passar uma explicação. ![]() ![]() ![]() ![]() ![]() Digones
Muito bom... mas acho o DW um cabeção :D (lol)
![]() ![]() ![]() ![]() ![]() EUman
Cara adorei esse sisteminha de mostrar os posts! muito legal =D
![]() ![]() ![]() ![]() ![]() Luis Henrique <luish7414@yahoo.com.br>
Gostei muito das sua explicação, mas fiquei com duvidas sobre as formas de decoração da tela. Existe outros modelos além deste q você cemonstrou?
![]() ![]() ![]() ![]() ![]() Dayvid Lima
Olá Luis,
Sim existem outras formas de decoração da janela, essa maneira que estou utilizando é para utilizar o "LookAndFeel" padrão do Java. Note que se você remover a linha: JFrame.setDefaultLookAndFeelDecorated(true); O programa irá aparecer com a decoração igual ao seu sistema operacional. Para utilizar outras formas de decoração remova a linha acima e adicione as seguintes linhas: try { UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel"); } catch (Exception e) { // ... algum comentario sobre o erro } Onde "com.sun.java.swing.plaf.motif.MotifLookAndFeel" é a decoração que deseja utilizar, algumas só estão disponíveis em alguns sistemas operacionais. Veja no site da sun as possíveis opções para o seu sistema operacional. Aproveito para agradeçer o seu comentário, e espero ter ajudado. Abraços, Dayvid ![]() ![]() ![]() ![]() ![]() william <wilcorreafds@hotmail.com>
Estou começando agora e ficou extremamnete simples de entender estes conceitos. Parabéns
![]() ![]() ![]() ![]() ![]() Alexandre <rios.alexandre@hotmail.com>
Parabéns cara, e muito obrigado sanou muitas dúvidas minha.
![]() ![]() ![]() ![]() ![]() José Paiva <jjppsoares@ajato.com.br>
Muito bom seus artigos,fáceis de entender e muito prático.
Parabens. Um abraço ![]() ![]() ![]() ![]() ![]() luca5 <lucaspunk@itelefonica.com.br>
sou iniciante e consegui entender bem o seu artigo...bela didatica...parabnes
abraços e não pare por ai ![]() ![]() ![]() ![]() ![]() Robson - Ourinhos <robson.biso@gmail.com>
Gostei, quando tiver mais exemplos poste ai por favor!!!
![]() ![]() ![]() ![]() ![]() felipe <felipe@felipe.com>
mto bom!
![]() ![]() ![]() ![]() ![]() ![]() |
![]() |
|
|