Ir para conteúdo

Saindo da "tela preta" e indo para a sua Janela em 5 minutos


Felipe Moraes

Posts Recomendados

Olá pessoal, boa tarde.

 

 

Sei que é muito chato programar e ver os resultados apenas naquele console preto e sem graça.

Por isso, vou ensinar pra vocês como criar uma janela em menos de 5 minutos, utilizando Java.

 

 

post-27316-0-31462000-1442083164_thumb.png

 

Primeiramente, vamos precisar de 2 classes.

Uma, será nossa Testadora, onde teremos o método main. A outra, que chamaremos de JanelaController teremos os componentes para exibir nossa janela.

 

Primeiramente, nossa classe Testadora ficará assim:

public class Testadora {
	public static void main(String args[]){	
		JanelaController janela = new JanelaController();
		janela.abrirJanela();
	}
}

Nada demais. Ela vai criar um objeto do tipo JanelaController, vai referencia-la como janela, e vai executar seu método chamado abrirJanela(), que veremos a seguir.

 

 

Em Java, possuimos bibliotecas nativas para a utilização de janelas. Em nosso tutorial, usaremos a biblioteca Swing. Seu caminho é "javax.swing;".

 

Primeira coisa, devemos importar essa biblioteca para nossa classe. Para isso, basta usar o comando import, antes da declaração da classe.

import javax.swing.*;
public class JanelaController {
	private JFrame frame; // É o componente responsável por exibir a janea
	private JLabel texto; // Responsável por exibir um texto
	
	
	public void abrirJanela(){
//	Devemos instanciar o objeto do tipo JFrame, para que possamos utiliza-lo em nossa classe.	
		frame = new JFrame();
//	Aqui, chamamos os métodos da classe do JFrame. Por exemplo:
		frame.setSize(400, 400); // Define o tamanho que terá nossa janela
		frame.setVisible(true);   // Colocamos a janela como visível
		frame.setTitle("Minha Janela Funciona !"); // Inserimos um título para nossa janela
		
// Você pode conferir mais métodos, dentro da própia classe JFrame. É só abri-la!
		
		
//		Aqui, instanciamos um objeto do tipo JLabel, e chamamos sua variável de texto.
		texto = new JLabel();
		
//		Definimos também um texto para ele, através do método setText() da classe do JLabel.
		texto.setText("Hail Xtibia!");
	
		
//		Essa parte é muito importante, pois é onde adicionamos nosso JLabel na janela.
		frame.add(texto);
		
	}
}

Perceberam o quanto é fácil ?

Se tiverem a curiosidade, podem pesquisar por mais componentes, para incrementar a janela de vocês.

Segue algumas:

  • JButton
  • JCheckBox
  • JMenu
  • JProgressBar
  • JTextField
  • Entre muitos outros

 

 

Espero que tenham gostado desse rápido tutorial.

 

Abraços e até a próxima !

Editado por Felipe Moraes
Link para o comentário
Compartilhar em outros sites

  • 11 months later...

 

Depende, um tutorial você poderia só ter instanciado o jFrame dentro da classe Testadora, mas pelo que entendi você quis mostrar algo mais elaborado, nesse caso poderia ter usando herança e ter herdado a classe JFrame.

 

 

 

 

 

Alguns outros detalhes que eu teria feito, são construtores para setar nome e tamanho da janela ( Já que nos damos o trabalho de criar uma classe para a janela no exemplo, poque não fazer ela completa )

 

 

 

 

 

Outra coisa é em relação aos metodos, AbrirJanela se refere a uma execução, ou seja executamos uma ação ao abrir, então não deveria ter instanciações dentro do método, no caso eu faria as instanciações no construtor da classe, e no metodo AbrirJanela só daria um setVisible(true)

 

 

 

 

 

Então ficaria,

 

 

 

 

 

Construtor - Seta tamanho e titulo

 

 

( Novo metodo ) Inicializadora - Cria a label

 

 

AbrirJanela - Monstra o frame

 

 

 

 

 

Enfim, são detalhes que eu mudaria no tutorial

 

 

Link para o comentário
Compartilhar em outros sites

pra quem realmente deseja seguir na área, tem um curso no site Udemy que eu indico e é muito bom...

 

Esse primeiro link é pro básico de Java, sem janelas, sem JFrame e tal

https://www.udemy.com/java-tutorial/?dtcode=lnDSMG32fc8u&siteID=d1Fh24.EiQI-kWZ7nzmoYK1F8Y3x7ee.8Q&LSNPUBID=d1Fh24*EiQI

 

Esse segundo link, ja é um curso pago usando a biblioteca Swing (q é uma poderosa biblioteca gráfica de Java, pra janelas)

https://www.udemy.com/java-swing-complete/
(lá pros 58 segundos do video de introdução tem a aplicação feita durante o curso, passo a passo)
(esse curso é pago, mas pra qm n tem condiçoes msm o cara até te da o curso se vc mandar um email pra ele explicando.. ou entao, tbm tem piratex na net os videos (porem sem legenda))

Link para o comentário
Compartilhar em outros sites

9 horas atrás, BananaFight disse:

Depende, um tutorial você poderia só ter instanciado o jFrame dentro da classe Testadora, mas pelo que entendi você quis mostrar algo mais elaborado, nesse caso poderia ter usando herança e ter herdado a classe JFrame.

 

Alguns outros detalhes que eu teria feito, são construtores para setar nome e tamanho da janela ( Já que nos damos o trabalho de criar uma classe para a janela no exemplo, poque não fazer ela completa )

 

Outra coisa é em relação aos metodos, AbrirJanela se refere a uma execução, ou seja executamos uma ação ao abrir, então não deveria ter instanciações dentro do método, no caso eu faria as instanciações no construtor da classe, e no metodo AbrirJanela só daria um setVisible(true)

 

Então ficaria,

 

Construtor - Seta tamanho e titulo

( Novo metodo ) Inicializadora - Cria a label

AbrirJanela - Monstra o frame

 

Enfim, são detalhes que eu mudaria no tutorial

 

@BananaFight

A classe testadora foi mais pra mostrar o conceito de uma classe chamando outra, até mesmo para irem se acostumando com a ideia de classes gerenciando outras classes, etc.

E sim, poderia ter ficado no Construtor da classe, não pensei nisso na hora. Acho que ficaria até mais legível.

E normalmente se extende JFrame mesmo, mas acho que instanciando desse jeito ficaria mais fácil das pessoas entenderem o papel da classe JFrame ali.

E melhor ainda, poderíamos colocar vários métodos, cada um com uma tarefa específica.

Que acha de nos juntarmos e fazermos um tutorial pra animar a galera ? ou até um curso, que tal ?

 

 

9 horas atrás, drakylucas disse:

pra quem realmente deseja seguir na área, tem um curso no site Udemy que eu indico e é muito bom...

 

Esse primeiro link é pro básico de Java, sem janelas, sem JFrame e tal

https://www.udemy.com/java-tutorial/?dtcode=lnDSMG32fc8u&siteID=d1Fh24.EiQI-kWZ7nzmoYK1F8Y3x7ee.8Q&LSNPUBID=d1Fh24*EiQI

 

Esse segundo link, ja é um curso pago usando a biblioteca Swing (q é uma poderosa biblioteca gráfica de Java, pra janelas)

https://www.udemy.com/java-swing-complete/

(lá pros 58 segundos do video de introdução tem a aplicação feita durante o curso, passo a passo)

(esse curso é pago, mas pra qm n tem condiçoes msm o cara até te da o curso se vc mandar um email pra ele explicando.. ou entao, tbm tem piratex na net os videos (porem sem legenda))

 

@drakylucas

Obrigado por contribuir.

No youtube tem ótimas video-aulas também, como essa:

 

Material não falta pra quem quer aprender =):

Link para o comentário
Compartilhar em outros sites

4 horas atrás, Felipe Moraes disse:

 

@BananaFight

A classe testadora foi mais pra mostrar o conceito de uma classe chamando outra, até mesmo para irem se acostumando com a ideia de classes gerenciando outras classes, etc.

E sim, poderia ter ficado no Construtor da classe, não pensei nisso na hora. Acho que ficaria até mais legível.

E normalmente se extende JFrame mesmo, mas acho que instanciando desse jeito ficaria mais fácil das pessoas entenderem o papel da classe JFrame ali.

E melhor ainda, poderíamos colocar vários métodos, cada um com uma tarefa específica.

Que acha de nos juntarmos e fazermos um tutorial pra animar a galera ? ou até um curso, que tal ?

 

 

 

@drakylucas

Obrigado por contribuir.

No youtube tem ótimas video-aulas também, como essa:

 

Material não falta pra quem quer aprender =):

 

Se fossem outros tempos eu até poderia ajudar, mas infelizmente hoje em dia não posso, estou bastante ocupado com algumas coisas, então não posso me comprometer a ajudar em um projeto tão grande, mas se quiser pegar meu contato, eu posso te ajudar no planejamento das aulas. 

Link para o comentário
Compartilhar em outros sites

4 horas atrás, BananaFight disse:

 

Se fossem outros tempos eu até poderia ajudar, mas infelizmente hoje em dia não posso, estou bastante ocupado com algumas coisas, então não posso me comprometer a ajudar em um projeto tão grande, mas se quiser pegar meu contato, eu posso te ajudar no planejamento das aulas. 

Tranquilo. Estou sem tempo também, precisava de alguém para compartilhar mesmo.

De qualquer forma, obrigado.

Estamos ae :ok:

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...