JFrame

(Melhor definição)
O JFrame é uma versão melhorada da classe Frame que traz consigo suporte aos componentes
Swing. Esta classe fornece todas as propriedade, métodos e eventos que precisamos para
construir janela. É uma janela normal, icone, barra de titulo, minimizar, maximizar, fechar
Primeiros passos:
import javax.swing.*;

(Depois de importar a biblioteca, vamos criar a classe)
public class NomeDaClasse ….

(Depois dos pontos, temos que dizer que a classe vai herdar todos os metodos,atributos etc JFrame, tudo dele)
public class NomedaClasse extends JFrame

(Depois temos que criar o construtor)
public NomedAClasse()

(Construtor é para que na hora que objeto for criado é chamado)
super(“Titulo”);

(Depois vamos criar o main)
public void main….

(Agora tem que criar o objeto, janela)
NomedaClasse nc = new NomedaClasse();

(Agora criamos um Default, o que ele vai fazer? Qual é o comportamento que essa janela
vai ter quando ela for fechada)
nc.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

(Agora defenir o tamanho do objeto)
nc.setSize(300,200);

(Agora definir se vai estar visivel)
nc.setVisible(true);

–Duvidas até aqui —

Por que o tamanho e o parte visivel está no main?
Res:Pode estar nos dois, construtor ou main
Ex no construtor:
setSize(300,200);
setVisible(true);

Mais por que pode?
Por que já herdo de JFrame, e jframe já possui esses elementos.
vai dar no mesmo.
Outro tipo de declaração –

No construtor….

JFrame jf = new JFrame();
jf.setTitle(“Titulo”);
jf.setSize(500,400);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
(Deixa centralizado)
jf.setLocationRelativeTo(null);
(Cancelar o redimencionalmento da janela)
jf.setResizable(false);
jf.setVisible(true);
no main….
new NomedaClasse();
(A diferença entre as duas)
na primeira herdou direto e não instanciou na no construtor,
na segundonão herdou e instanciou no construtor.

 


JButton

até agora?

public class NomeDaClasse extends JFrame{

public NomedaClasse(){
setTile(“blablabla”);
setSize(700,700);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}

public static void main(String [] args) {
new NomeDaClasse();
}

}
Como faço para adicionar botao na janela?
(A primeira coisa é instanciar o objeto botão na parte da classe,
JButton)
JButton jb = new JButton();

(Agora precisamos declarar o bottão)
import javax.swing.JButton

(Dentro do construtor bottao, pode colocar o titulo)
JButton jb = new JButton(“Botao teste”);
–Perguntas—
Como adicionar o botao agora?
Pode chamar o metodo, getContentPane(); esse metodo que pode adicionar um compoente
No caso é o JButton

getContentPane().add(jb);
(Ele vai deixar o botão inteiro ocupando o espaço do JFrame)

Mas pode simplificar, colocando só add(jb);, da no mesmo, mas é bom saber

 


Por enquanto sem layout

(vai dizer que vai adicionar os componentes por conta propria, e com isso vai sumir o bottao)
setLayout(null);

(Agora vamos definir os componentes)
(Esse metodo defini a posição e o tamanho dos componentes, vai receber 4 tamanhos)
(Primeira parte vai receber o tamanho horizontal em pixel,Ex: 100 x)
(Na segunda na versão vertical,Ex: 300 y)
(Terceiro vai ser a largura do componente, Ex: 100 pixel)
(Quarto a ruptura desse componente, 60 pixel)
jb.setBounds(100,300,100,60);

Agora vai aparecer onde vc quer, no tamanho e na posição no JFrame.

Agora pode criar varios botões em varias posições.
botao.setBounds(x,y,width,height)
botao.setBounds(0,0,500,300)

Depois só adicionar;
Ex:
add(jb);
add(botao);

 


Agora como adicionar uma ação no botão Usando ActionListener

Até agora:
public class NomeDaClasse extends JFrame{

JButton jb = new JButton(“Mensagem”);

public NomedaClasse(){

//Código para exibir botão
setLayout(null);
jb.setBounds(300,200,100,60);
add(jb);

//Código de exibir uma janela
setTile(“blablabla”);
setSize(700,600);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
}

public static void main(String [] args) {
new NomeDaClasse();
}

}

Primeira coisa, para dar ação o botão, é escolher qual classe vai tratar o botão
Como só tem uma, vamos usar NomeDaClasse, que vai ficar:

import java.awt.event.ActionListener;
public class NomeDaClasse extends JFrame implements ActionListener{
(Ao implementar uma interface precisa sobrescrever todos os metodos existentes nela,
no caso a interface ActionListener só tem um metodo.)

(Por parametro ele recebe ActionEvent, ele precisa ser importado tbm)
import java.awt.event.ActionListener;
import.awt.event.ActionEvent;

public class NomeDaClasse extends JFrame implements ActionListener{
public void ActionPerformed(ActionEvent e){
}
(Agora precisamos dar ação ao botão, no construtor)
(Por parametro ele pede qual classe está tratando o evento, a ação do botao)
(No nosso caso é a classe NomeDaClasse que implementa Action e blablalab)

jb.addActionListener(this); //This é dizir que é a propria classe
(Agora dentro do actionPerformed, usando o tutorial escrito aquim JOptionPane)
public void ActionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(null,”Ação da porra do botão”);
}
–Perguntas?—
Se tiver dois botões ou mais, já que quando declarar no construtor this, pode direcionar para o mesmo actionPerformed?
Res:
Pode criar um if dentro diferenciando cada botão exemplo:

Vamos supor que seja jb, jb2… fiz todo o proximo e tals agora dentro ActionPerformed o if vai ficar como:

if(e.getSource() ==jb){
faz tal coisa
}

if(e.getSource() ==jb2){
System.exit(0);//Fecha o aplicativo
}

 


 

Como usar layout e interface grafica BorderLayout:

Até agora:

import javax.swing.JFrame;

public class Layout extends JFrame{

public Layout(){
setTitle(“Titulo do negcio”);
setSize(700,600);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);

}

public static void main (String [] args){
new Layout();
}

}
O BorderLayout é o que tem 5 posições:
North
West Center East
South

Começando:

Como definir um layout para janela?
Com o metodo setLayout

(dentro do setLayout, instanciamos o layout que vamos usar)
setLayout(new BorderLayout());

Obs: Por padrão o JFrame vem com BorderLayout, então no caso não seria necesasrio
instanciar no construtor;
Como adicionar os componentes?
Exemplo com JButton
JButton botao = new JButton(“Teste”);

(agora adicionar no construtor)
(No border layout, vc precisa informar qual das posições vc quer adicionar)
(No caso eu informei quer quero adicionar, na posição norte no border o botão)
add(BorderLayout.NORTH,botao);

(Com isso vai ocupar toda a posição de cima)
(mesma coisa acontece se adicionar outro componente)
Ex:
add(BorderLayout.EAST,botao2);
add(BorderLayout.CENTER,botao3);


FlowLayout
Obs(Se não especificar a posição ele deixa centralizado tudo)

Unica diferença é que muda dentro do setLayout as posições dos botões: Ex:
setLayout(new FlowLayout(FlowLayout.LEFT));
add.(botao);
add.(botao2);

– Deixa tudo na esquerda…
– Centralizado não precisa instanciar tudo, só setLayout(new FlowLayout);

 


GridLayout vai organizar os componentes em formar de uma tabela, de acordo com numero de linhas e colunas informadas

Primeiro passo é instanciar…

(definir o numero de linhas e o numero de colunas que vai ter o layout, no caso 2,2)
setLayout(new GridLayout(2,2));
Segue baixo exemplo:
public class Layout extends JFrame{

JButton b1 = new JButton(“1”);
JButton b2 = new JButton(“2”);
JButton b3 = new JButton(“3”);
JButton b4 = new JButton(“4”);

public Layout(){

setLayout(new GridLayout(2,2);
add(b1);
add(b2);
add(b3);
add(b4);
setTitle(“Titulo do negcio”);
setSize(700,600);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);

}

public static void main (String [] args){
new Layout();
}

}


 

Fonte de texto

import javax.swing.JFrame;

public class Fonte extends JFrame{

JButton botao = new JButton(“Texto”);

(Por parametro precisa informar, o tipo da fonte, o estilo dela e o tamanho)
Font fonte = new Font(“Courier New”,Font.ITALIC,100);

//Intalico e negrito
Font fonte = new Font(“Courier New”,Font.ITALIC | Font.BOLD,100);

public Fonte(){

botao.setFont(fonte);
add(botao);

setTitle(“Titulo do negcio”);
setSize(700,600);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);

}

public static void main (String [] args){
new Fonte();
}

}


Mudar a COR de algum componente grafico.
Até agora:

public class Cores extends JFrame{

JButton botao = new JButton(“Texto”);

Font fonte = new Font(“Courier New”,Font.ITALIC,100);

public Cores(){

botao.setFont(fonte);
add(botao);

setTitle(“Titulo do negcio”);
setSize(700,600);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);

}

public static void main (String [] args){
new Cores();
}

}
Para modificar a cor:

(Vamos usar o botão como exemplo)

(O metodo setForeground modifica a cor do texto)
botão.setForeground(fg);
(O metodo setBackground modificar o fundo do componente)
botao.setBackground(bg);
(Por parametro, a cor pode ser informada, criando ou utilizar cores criadas)
(Na classe Color. existe varias cores, exemplo)
botao.setForeground(Color.GREEN);
botao.setBackground(Color.GRAY);
(Para criar novas cores, é preciso instanciar novas cores)

public class Cores extends JFrame{

JButton botao = new JButton(“Texto”);
Font fonte = new Font(“Courier New”,Font.ITALIC,100);

Color cor = new Color();

(Agora precisamos passar por parametro, 3 inteiros)
(A quantidade de vermelho, de verde e de azul, que a cor tem, RGB)
Obs: não pode passar de 255
Color cor = new Color(255,45,78);
(Agora para adicionar é só substituir no parametro)
botao.setForeground(cor);

 


Como inserir uma JLabel

Até agora:
public class Label extends JFrame{
Font grande = new Font(“Serif”,Font.BOLD,50);

public Label(){
setTitle(“Titulo do negcio”);
setSize(700,600);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);

}

public static void main (String [] args){
new Label();
}

}
(Vamos usar o objeto Font grande, que foi instanciado, para configurar a JLabel)
Font grande = new Font(“Serif”,Font.BOLD,50);
O que é JLabel?
JLabel é como se fosse um rotulo com uma legenda, que podemos inserir texto nela

Como criar?

(Primeiro temos que instanciar)
JLabel legenda = new JLabel();

(Dentro do parametros, construtor da JLabel, podemos dar um titulo)
JLabel legenda = new JLabel(“Oi”);

Como está?
public class Label extends JFrame{

JLabel legenda = new JLabel(“Oi”);
Font grande = new Font(“Serif”,Font.BOLD,50);
(Agora no construtor)
(Para adicionar no modo simples, é simples kkk)
(Só escrever)
add(legenda); // dentro do construtor, vai ficar com tamanho padrão
(Para alterar a fonte)
legenda.setFont(grande);

(Ficando assim)
legenda.setFont(grande);
add(legenda);
(Agora para alterar o texto)
legenda.setText();

(E por parametro passa outro texto, quer dizer que o de cima vai ser alterado)
legenda.setText(“outro texto);
(Alinhando o texto JLabel)
(Esse comondo vai alinhar a JLabel no centro)
legenda.setHorizontalAlignment(SwingConstants.CENTER);

 


JTextField como adicionar

Até agora?
public class CaixaDeTexto extends JFrame{

public CaixaDeTexto(){
setLayout(new FlowLayout());

setTitle(“Titulo do negcio”);
setSize(700,600);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);

}

public static void main (String [] args){
new CaixaDeTexto();
}

}

O que é uma TextField?

É um campo de texto, uma caixa de texto…. simples
(Primeiro passo é instanciar…)
JTextField caixa = new JTextField();

Obs: importando sempre;
(Agora no construtor da JTextField, temos que informar, o numero de colunas que ela tera)
JTextField caixa = new JTextField(30);

(Agora dentro do construtor da class)
add(caixa);
-Agora ela foi adicionar com tamanho de 30 colunas-

Ficando assim:

public class CaixaDeTexto extends JFrame{

JTextField caixa = new JTextField(30);

public CaixaDeTexto(){
setLayout(new FlowLayout());
add(caixa);

setTitle(“Titulo do negcio”);
setSize(700,600);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);

}

public static void main (String [] args){
new CaixaDeTexto();
}

}

(Agora para mudar o texto dentro do construtor);

caixa.setText(“Novo texto”);

(Agora como eu posso capturar esse texto?)
(Com o metodo getText)
System.out.println(caixa.getText());

 


Como crirar uma JCheckBox?
Até agora?
public class CheckBox extends JFrame{
public CheckBox(){
setLayout(new FlowLayout());

setTitle(“Titulo do negcio”);
setSize(400,300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);

}

public static void main (String [] args){
new CheckBox();
}

}
Para criar uma JCheckBox temos que instanciala

JCheckBox teste = new JCheckBox();

(Agora no construtor só adicionar o metodo)
add(teste);

– Foi adicionado sem titulo-

(Só adicionar o metodo setText ou escrever no construtor do JCheckBox)
teste.setText(“Titulo);
JCheckBox teste = new JCheckBox(“Titulo);

– Seguindo o processo, ela inicializou desmarcada –

(Como iniciar a JCheckBox marcada)
(Precisa passar por parametro no construtor, true)
JCheckBox teste = new JCheckBox(“Titulo,true);

(Mesma coisa se colocar false, que vai ficar desmarcada, mas vai dar no mesmo)
JCheckBox teste = new JCheckBox(“Titulo,false);
– Como saber se ela foi marcada? –

(Utilizando o metodo isSelected, se a CheckBox estiver marcada, ela vai retornar true)
teste.isSelected();
– Para um teste –
public CheckBox(){
setLayout(new FlowLayout());
add(teste);
System.out.println(teste.isSelected());
setTitle(“Titulo do negcio”);
setSize(400,300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
Como criar um JRadioButton
Até agora?

public class RadioButton extends JFrame{
public RadioButton(){
setLayout(new FlowLayout());

setTitle(“Titulo do negcio”);
setSize(400,300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);

}

public static void main (String [] args){
new RadioButton();
}

}

(Para criar um JRadioButton, precisamos instanciar ela)
JRadioButton teste = new JRadioButton();

(Agora no construtor, só add no construtor)
add(teste)

(Titulo pode ser o mesmo metodo JbUTTON)
(Para ja vir marcado, mesmo metodo do JButton)
– Como deixar só 1 item marcado, não todos –

(para isso precisamos criar um botão group)

ButtonGroup grupo = new ButtonGroup();

(Agora no construtor)
grupo.add(teste1);
grupo.add(teste2);
Ficando assim:

public class RadioButton extends JFrame{

JRadioButton teste1 = new JRadioButton(“Teste 1”);
JRadioButton teste2 = new JRadioButton(“Teste 2”);

ButtonGroup grupo = new ButtonGroup();

public RadioButton(){
setLayout(new FlowLayout());
add(teste1);
add(teste2);

grupo.add(teste1);
grupo.add(teste2);

setTitle(“Titulo do negcio”);
setSize(400,300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);

}

public static void main (String [] args){
new RadioButton();
}

}
(Está dizendo que os dois componente pertence ao mesmo grupo, assim só um dos dois pode ser adicionado)

 


Como adicionar uma JComboBox

Até agora?

public class ComboBox extends JFrame{
public ComboBox(){
setLayout(new FlowLayout());

setTitle(“Titulo do negcio”);
setSize(400,300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);

}

public static void main (String [] args){
new ComboBox();
}

}
(Criado uma ComboBox)

(Entre o sinal de maior e menor, informa o tipo de dado que a combobox ira armazenar, ela só pode armazenar um objeto, e não tipos primitivos)
(String é um objeto… int é tipo com
JCamboBox<String>
(Para adicionar int, precisa ser assim)
JCamboBox<Interger>
(Por completo)
JComboBox<String> combo = new JComboBox<String>();
(Agora só adicionar no construtor)
add(combo)
– Ela foi criada, mas está sem item, como adicionar item? –

(só adicionar como metodo, e com parametro)
combo.addItem(“Teste1”);
combo.addItem(“Teste2”);
combo.addItem(“Teste3”);

– Como modficar o primeiro item que aparece? –
(Logo abaixo)
combo.setSelectedIndex(2);

(No caso funciona assim, teste 1 = 0, teste 2 = 1, teste 3 = 2)
(Então vai aparecer o Teste 3)
(Como capturar esse index?)
(Metodo abaixo vai retornar, qual metodo está selecionado)
combo.getSelectedIndex();

(Imprimir no console)
System.out.println(combo.getSelectedIndex()); //vai retornar o que foi selecionado

Para usar direto usando o nome-

(Pode tbm inicilizar pelo nome)
combo.setSelectedItem(“Teste 2”);

(e para retornar o valor)
String.valueOf(combo.getSelectedItem());


Adicionar uma imagem

Até agora?
public class Imagem extends JFrame{
public Imagem(){
setLayout(new FlowLayout());

setTitle(“Titulo do negcio”);
setSize(400,300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);

}

public static void main (String [] args){
new Imagem();
}

}
Vamos adicionar…

(Primeiro selecionar a imagem, no computador, e copiar no package dentro do netbens ou eclipse)
(Depois que copiado, segundo passo é copiar um objeto ImageIcon)

ImageIcon imagem = new ImageIcon();

(Passando o metodo dentro do parametro)
ImageIcon imagem = new ImageIcon(getClass().getResource(“”));

(Dentro dos parametros do getResource, temos que passar o nome da imagem)
ImageIcon imagem = new ImageIcon(getClass().getResource(“imagemfoda.png”));
(Agora para adicionar a imagem na janela, precisamos criar uma JLabel)
JLabel label = new JLabel();

(Dentro do construtor da JLabel passar por parametro, o objeto imageicon, no caso imagem)
JLabel label = new JLabel(imagem);
(depois só adicionar dentro do construtor da class)
add(label);


Como usar Try Catch

O que é uma Try Catch?
É usado para tratar possiveis erros e exceções no programa.

Vou ensinar no jeito mais simples

public class Teste{

public static void main(String [] args){
Scanner ler = new Scanner(System.in);
int n = ler.nextInt();
System.ou.printfln(30/n);
}
}

Como usar o try catch no programa?
Primeiro precisa saber qual parte pode dar erro!

Exemplo:
int n = ler.nextInt(); // se o usuario informar uma string pode ocorrer eroo
(tbm nessa)
System.ou.printfln(30/n); // se informar 0 pode ocorrer erro aritimetico
(agora temos que adicionar duas linhas de comando entre esses possiveis erros)

try{

int n = ler.nextInt();
System.ou.printfln(30/n);
}

(Agora precisamos capturar esses erros)

try{

int n = ler.nextInt();
System.ou.printfln(30/n);
}catch() // dentro disso captura os possiveis erros

(Se vc quer capturar qualquer erro, qualquer exceção)
catch(Exception erro){

}

(Dentro disso, vc informa o que vc quiser)
catch(Exception erro){
System.out.printfln(“Ocorreu a porra do erro: “+erro); // esse erro vo puxar do que apareceu, invez de aparecer e fechar o programa, só exibo o erro como system
}

(Vc tbm pode capturar as exceções individualmente usando)
(vai funcionar quando, informar uma entrada do tipo incorreta)
catch(InputMismatchException erro){

}

Obs: precisa importar

(Agora podemos tratar individualmente qualquer metodo,)
catch(InputMismatchException erro){
System.out.printfln(“Você só pode informar numeros inteiros: “+erro);
}

(Agora ele só vai funcionar para primeiro, pq é um erro tipo string exemplo)

(Se quiser que funcione para segundo, no caso segundo é problema aritimetico, tipo inteiro exemplo)
(Temos que criar outro catch
try{

int n = ler.nextInt();
System.ou.printfln(30/n);
}catch(InputMismatchException erro){
System.out.printfln(“Você só pode informar numeros inteiros: “+erro);
}catch(ArithmeticException erro){
System.out.printfln(“nenhum numero pode ser dividido por 0: “+erro);
}

(Agora tem dois erros individualmente tratados.)

– O try catch, tem outra finalidade, tem o finally –

Ele serve para terminar a execução do try independete se ocorreu erro ou não

try{

int n = ler.nextInt();
System.ou.printfln(30/n);
}catch(InputMismatchException erro){
System.out.printfln(“Você só pode informar numeros inteiros: “+erro); // erro com string (esse erro aconteceu pq era pra digitar numero e digitou string)
}catch(ArithmeticException erro){
System.out.printfln(“nenhum numero pode ser dividido por 0: “+erro); // erro com int (esse erro aconteceu pq digitou 0, e 0 não dividi 30 )
}finally{
System.out.println(“FIM”);
}
(Mesmo que ocorra o erro ou não, ele é executado, ele fecha)

 


ActionListener mais afundo!!!!

Até agora:

import java.awt.FlowLayout;

public class tassiacomduvida extends JFrame {
private JTextField item1;
private JTextField item2;
private JTextField item3;
private JPasswordField senha;

public tassiacomduvida (){
super(“Titulo”);
setLayout(new FlowLayout);

item1 = new JTextField(10);
add(item1);

item2 = new JTextField(“Entre com o texto aqui”);
add(item2);

item3 = new JTextField(“Não pode ser editavel”,20);
item3.setEditable(false);
add(item3);

senha = new JPasswordField(“Minha senha”);
add(senha);
//Ja vimos tudo de cima, eles estão esperando que algum objeto faça alguma coisa com eles
////////////////////////////////////////////////////////////////////////////////////////

classnova objeto = new classnova(); // Passo 1 é a classe que foi criar

item1.addActionListener(objeto); // está se referindo a class classnova, que é a class q vai lidar com o evento)
item2.addActionListener(objeto);
item3.addActionListener(objeto);
senha.addActionListener(objeto);

}
private class classnova implements ActionListener{ // Passo 2

public void actionPerformed(ActionEvent evento){ // Passo 2.4
String string = ” “;

if(evento.getSource() == item1){ //Como expliquei, getSource diferencia qual objeto o usuario usou, ou clicou,
String = String.format(“Espaço 1: %s”, evento.getActionCommand()); // Passo 2.5

}
else if(evento.getSource() == item2){
String = String.format(“Espaço 2: %s”, evento.getActionCommand());

}
else if(evento.getSource() == item3){
String = String.format(“Espaço 3: %s”, evento.getActionCommand());

}
else if(evento.getSource() == senha){
String = String.format(“Senha: %s”, evento.getActionCommand());

}

JOptionPane.showMessageDialog(null, string ) //Ele vai pegar dois parametros, o primeiro é posição, segundo é a variavel que vc quer imprimir)

}
}
}
(1 – Primeiro passo é criar um evento que manipula todos os eventos)

(2.2 Vou criar tipo private, pq só vai servir para essa class)
(2.3 essa class vai ser exclusiva dos eventos, vai ficar responsavel pelo eventos que tiver no programa)
(2.4 criar um metodo, que toda vez que for criar um evento ele vai ser chamado, é automatico, está dentro do java, padrão)
(2.5 vai pegar o que vc escreveu, no caso como é editavel, tudo que vc escrever vai ficar na string)

(3 – Vamos usar o JOptionPane, para fazer a ação dos eventos)
(3.1 Agora vai aparece tudo o que criou.)
(4 – Agora outra Class totalmente diferente, outra mesmo )
import javax.swing.JFrame; // Passo 4

public class youtube {

public static void main (String args []){

tassiacomduvida objeto = new tassiacomduvida();

objeto.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Não é automatico, precisa escrever para poder fechar
objeto.setSize(400,200);
objeto.setVisible(true);
}

}

 


JOptionPane – Pacote do Swing Java

Exemplo Paniel de inserir dados
Primeiros passos:

Declarar na impotação
import javax.swing;

Declarar dentro da class uma variavel.
int x = 0;

Declarar dentro do main o JoptionPane.
x = JOptionPane.showInputDialog(“Mensagem”);
*(Agora precisa mostrar para java qual tipo de variavel que está mandando)
x = Interger.parseInt(JOptionPane.showInputDialog(“Mensagem”));
*(Agora tudo que tiver () vai ser convertido para inteiro)
Agora vamos mostrar esse X
JOptionPane.showMessageDialog(null,”O valor de x eh: ” +x);
– No caso de for double ou
x = Double.parseDouble(…….
x = Float.parseFloat(………….
x = String não precisa converter vai direito


package listexample;

import java.awt.GridLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class ListExample {

private JFrame jFrame;
private JPanel panel1;
private JPanel panel2;
private JTextField textFieldNome;
private JTextField textFieldSobrenome;

public ListExample() {
iniciarComponentes();
}

private void iniciarComponentes() {
jFrame = new JFrame(“Meu Frame”);
jFrame.setLayout(new GridLayout(2,2));

/*
* Um JPainel para adicionar os componentes JLabel e JTextField
* que contém respectivamente o rótulo “Nome:” e o campo para edição.
*/
panel1 = new JPanel();
panel1.setLayout(new GridLayout(1, 0));

/*
* Outro JPainel para adicionar os componentes JLabel e JTextField
* que contém respectivamente o rótulo “Sobrenome:” e o campo para edição.
*/
panel2 = new JPanel();
panel2.setLayout(new GridLayout(1, 0));

textFieldNome = new JTextField(15);
textFieldSobrenome = new JTextField(15);

//Adição dos componentes ao JPanel
panel1.add(new JLabel(“Nome: “));
panel1.add(textFieldNome);

//Adição dos componentes ao JPanel
panel2.add(new JLabel(“Sobrenome”));
panel2.add(textFieldSobrenome);

//Adição dos componentes JPanel ao JFrame
jFrame.add(panel1);
jFrame.add(panel2);

//Ajusta automaticamente o tamanho da janela, alternativa ao setSize()
jFrame.pack();

//Centraliza a janela
jFrame.setLocationRelativeTo(null);

jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
jFrame.setVisible(true);
}

public static void main(String[] args) {
new ListExample();
}
}

Relacionados

Deixe uma resposta