JFrame

É a classe principal para fazer janelas do Swing, veja este primeiro exemplo, que cria a classe Janela1 como filha da classe JFrame, e no método main cria um objeto da classe e chama o método show() para que a janela seja exibida




Janela1.java


01 package br.com.thz;
02 
03 import javax.swing.JFrame;
04 
05 public class Janela1 extends JFrame {
06 
07   public Janela1() {
08   }
09 
10   public static void main(String[] args) {
11     Janela1 janela = new Janela1();
12     janela.show();
13   }
14 }

O resultado desta exibição na verdade não serve para muita coisa, visto que cria uma janela que aparentemente só tem a barra de título e mais nada… vamos avançãr para o próximo exemplo e vamos definir a largura e a altura da janela em questão




Janela2.java


01 package br.com.thz;
02 
03 import javax.swing.JFrame;
04 
05 public class Janela2 extends JFrame {
06 
07   public Janela2() {
08   }
09 
10   public static void main(String[] args) {
11     Janela2 janela = new Janela2();
12     // largura, altura
13     janela.setSize(200100);
14     janela.show();
15   }
16 }

As coisas começam a ficar um pouco melhores, já temos uma janela smile Mas podemos melhorar um pouco mais, vamos colocar um ícone nesta janela para exemplificar melhor o propósito de nossa aplicação, para tal no diretóio raiz do projeto é necessário criar uma pasta com a imagem que vamos usar, conforme a ilustração abaixo

folder-com-image.gif
Veja a mesma classe agora com o título e o ícone adicionado




Janela3.java


01 package br.com.thz;
02 
03 import javax.swing.ImageIcon;
04 import javax.swing.JFrame;
05 
06 public class Janela3 extends JFrame {
07 
08   public Janela3() {
09   }
10 
11   public static void main(String[] args) {
12     Janela3 janela = new Janela3();
13     janela.setSize(400200);
14 
15     // titulo da janela
16     janela.setTitle("Janela de Teste");
17 
18     // carrega imagem do disco
19     ImageIcon icone = new ImageIcon("image/pizza.gif");
20 
21     // atribui imagem a janela
22     janela.setIconImage(icone.getImage());
23     janela.show();
24   }
25 }

Deve ter sido observado que apesar de fechar as janelas o programa chamado ainda fica ativo, isto se deve ao fato de que o programa fica independente da Janela que foi exibida, vamos agora determinar que ao fechar a janela o programa também deve ser fechado, e além disto vamos colocar a janela centralizada na tela.

Neste exemplo todas as alterações na subclasse de JFrame passamos a fazer no construtor de maneira que esta resposabilidade de alterações visuais seja da própria classe, para os casos em que o método main que chamar a janela estiver em outra classe.




Janela4.java


01 package br.com.thz;
02 
03 import javax.swing.ImageIcon;
04 import javax.swing.JFrame;
05 
06 public class Janela4 extends JFrame {
07 
08   public Janela4() {
09     setSize(400200);
10     setTitle("Janela de Teste");
11     ImageIcon icone = new ImageIcon("image/pizza.gif");
12     setIconImage(icone.getImage());
13 
14     // termina aplicação quando fechar a janela
15     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
16 
17     // centraliza a janela na tela
18     setLocationRelativeTo(null);
19   }
20 
21   public static void main(String[] args) {
22     Janela4 janela = new Janela4();
23     janela.show();
24   }
25 }

Este é o resultado final da nossa Janela

janela4.gif

1 Response » to “JFrame”

  1. Ótimo. Parabéns pela colaboração.

Leave a Reply