Saltar para o conteúdo

Java/Swing/Primeiro programa

Origem: Wikilivros, livros abertos por um mundo aberto.
(Redirecionado de Java/JFrame)

Este é o primeiro programa em Java usando a API Swing.

import javax.swing.JFrame;  // inclui, da biblioteca swing, apenas JFrame

public class jframetest {
	public static void main(String[] args) {
		JFrame frame = new JFrame("Este e' um teste");
		frame.setSize(300, 300);
		//frame.setResizable(false);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
	}
}

Entendendo o programa

[editar | editar código-fonte]

Como quase todo programa escrito em GUI, vários passos são necessários para fazer uma janela aparecer na tela. Não basta criá-la, deve ser explicitamente ordenado que ela apareca.

Assim, temos os comandos

		JFrame frame = new JFrame("Este e' um teste");
		frame.setSize(300, 300);

que criam a janela, o comando

		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

que indica que a aplicação toda deve terminar quando a janela for fechada, e o comando

		frame.setVisible(true);

que faz a janela aparecer para o usuário.

Note-se que, aparentemente, o programa termina, mas a janela continua visível. Esta é uma característica da programação em GUI: o programa realmente só deve terminar quando a janela for fechada (e, mesmo assim, deve haver alguma salvaguarda para o usuário não perder dados, tal como aparecer uma janela perguntando se é mesmo para sair ou se ele deseja salvar os dados) ou quando o programa terminar seu objetivo (digamos, uma janela que abre por 30 segundos para dizer que está na hora de ligar a TV para assistir o jornal; depois deste tempo, a janela deve se fechar).

A linha (comentada)

		//frame.setResizable(false);

se for descomentada fará com que o programa não permita que a janela seja redimensionada.