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

Felipe Moraes
em Java

Felipe Moraes

Java Developer
avatar
Grão-Duque
Grão-Duque

INFOS

Grupo: Grão-DuqueRegistrado: 02/10/06Posts: 3285Gênero: Masculino

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 !

~A nossa maior glória não reside no fato de nunca cairmos, mas sim em levantarmo-nos sempre depois de cada queda.~

 

 

 

 

Clique aqui para ver meus tutoriais !

 

 

 

Gamertag: cpmoraes

 

 

BananaFight

Allahu Akbar
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 14/02/13Posts: 702Gênero: Masculino

 

Bem legal, eu mudaria algumas coisas mas isso é por costume kkk

 

 

 

 

 

Criar Janelas no java pode ser bem chato y.y

 

 

Felipe Moraes

Java Developer
avatar
Grão-Duque
Grão-Duque

INFOS

Grupo: Grão-DuqueRegistrado: 02/10/06Posts: 3285Gênero: Masculino

Estou aberto a sugestões para melhorar o tópico amigo.

E realmente, janelas no java são bem chatinhas mesmo, principalmente sem o famoso clicar e arrastar.

 

Valeu!

~A nossa maior glória não reside no fato de nunca cairmos, mas sim em levantarmo-nos sempre depois de cada queda.~

 

 

 

 

Clique aqui para ver meus tutoriais !

 

 

 

Gamertag: cpmoraes

 

 

BananaFight

Allahu Akbar
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 14/02/13Posts: 702Gênero: Masculino

 

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

 

 

drakylucas

Draky Scripter
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 12/09/10Posts: 416Char no Tibia: Draky Lucas

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))

Felipe Moraes

Java Developer
avatar
Grão-Duque
Grão-Duque

INFOS

Grupo: Grão-DuqueRegistrado: 02/10/06Posts: 3285Gênero: Masculino
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 =):

~A nossa maior glória não reside no fato de nunca cairmos, mas sim em levantarmo-nos sempre depois de cada queda.~

 

 

 

 

Clique aqui para ver meus tutoriais !

 

 

 

Gamertag: cpmoraes

 

 

BananaFight

Allahu Akbar
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 14/02/13Posts: 702Gênero: Masculino
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. 

Felipe Moraes

Java Developer
avatar
Grão-Duque
Grão-Duque

INFOS

Grupo: Grão-DuqueRegistrado: 02/10/06Posts: 3285Gênero: Masculino
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:

~A nossa maior glória não reside no fato de nunca cairmos, mas sim em levantarmo-nos sempre depois de cada queda.~

 

 

 

 

Clique aqui para ver meus tutoriais !

 

 

 

Gamertag: cpmoraes