Vilarejo PK2P
Bem-vindo ao fórum Vilarejo PK2P! O fórum oficial do canal Press Key to Play do Youtube!

Grupo para reunir as pessoas que acompanham os vídeos no canal Press Key to Play e discutir os assuntos abrangidos pelo Blog PK2P.


Você não está conectado. Conecte-se ou registre-se

[tutorial] java swing: parte 3

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

1 [tutorial] java swing: parte 3 em 14/9/2017, 07:27

bom galera continuando o tutorial de java swing nessa parte vamos aprender mexer com jlabel, para começar a gente criar uma janela basica como ja aprendemos nos tutoriais anteriores

Código:
package kodo;

import javax.swing.*;

public class Principal {
    private static JFrame janela;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   
   janela.setBounds(200,200,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
    }
}



agora a gente instancia um objeto do tipo JLabel (javax.swing.JLabel), podemos passar uma string para ele

Código:
package kodo;

import javax.swing.*;

public class Principal {
    private static JFrame janela;
    private static JLabel texto;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   texto = new JLabel("ola mundo by kodo");
   
   janela.setBounds(200,200,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
    }
}

agora adicionamos ele na nossa janela usando o metodo add do objeto da janela

Código:
package kodo;

import javax.swing.*;

public class Principal {
    private static JFrame janela;
    private static JLabel texto;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   texto = new JLabel("ola mundo by kodo");
   
   janela.setBounds(200,200,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   janela.add(texto);
    }
}

como estamos usando um layout absoluto ele não sera exibido, para isso temos que especificar o tamanho e a posição com o metodo setBounds

Código:
package kodo;

import javax.swing.*;

public class Principal {
    private static JFrame janela;
    private static JLabel texto;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   texto = new JLabel("ola mundo by kodo");
   
   janela.setBounds(200,200,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   texto.setBounds(100,0,200,30);
   
   janela.add(texto);
    }
}



podemos modificar o texto dentro do label usando o metodo setText

Código:
package kodo;

import javax.swing.*;

public class Principal {
    private static JFrame janela;
    private static JLabel texto;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   texto = new JLabel("ola mundo by kodo");
   
   janela.setBounds(200,200,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   texto.setBounds(100,0,200,30);
   texto.setText("novo texto");
   
   janela.add(texto);
    }
}

podemos fazer isso por exemplo quando um determinado botão for pressionado

Código:
package kodo;

import javax.swing.*;
import java.awt.event.*;

public class Principal {
    private static JFrame janela;
    private static JLabel texto;
    private static JButton botao;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   texto = new JLabel("ola mundo by kodo");
   botao = new JButton("mudar");
   
   ActionListener evento = new ActionListener() {

       @Override
       public void actionPerformed(ActionEvent e) {
      texto.setText("ohayo minna-san!!!");
       }
   };
   
   janela.setBounds(200,200,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   texto.setBounds(100,0,200,30);
   
   botao.setBounds(50,40,200,30);
   botao.addActionListener(evento);
   
   janela.add(texto);
   janela.add(botao);
    }
}



podemos tambem pegar o texto em um label usando o metodo getText

Código:
package kodo;

import javax.swing.*;

public class Principal {
    private static JFrame janela;
    private static JLabel texto;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   texto = new JLabel("ola mundo by kodo");
   
   janela.setBounds(200,200,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   texto.setBounds(100,0,200,30);
   
   String meutexto = texto.getText();
   System.out.println(meutexto);
   
   janela.add(texto);
    }
}



podemos mudar a cor do texto com o metodo setForeground

Código:
package kodo;

import javax.swing.*;
import java.awt.*;

public class Principal {
    private static JFrame janela;
    private static JLabel texto;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   texto = new JLabel("ola mundo by kodo");
   
   janela.setBounds(200,200,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   texto.setBounds(100,0,200,30);
   texto.setForeground(Color.orange);
   
   janela.add(texto);
    }
}

como tambem é possivel mudar a cor do fundo com o setBackground, porem para a cor de fundo ser mudada deve especificar o metodo setOpaque como true

Código:
package kodo;

import javax.swing.*;
import java.awt.*;

public class Principal {
    private static JFrame janela;
    private static JLabel texto;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   texto = new JLabel("ola mundo by kodo");
   
   janela.setBounds(200,200,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   texto.setBounds(100,0,200,30);
   texto.setForeground(Color.white);
   texto.setOpaque(true);
   texto.setBackground(Color.black);
   
   janela.add(texto);
    }
}



para mudar a fonte usamos o metodo setFont, passamos para ele um objeto do tipo font

Código:
package kodo;

import javax.swing.*;
import java.awt.*;

public class Principal {
    private static JFrame janela;
    private static JLabel texto;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   texto = new JLabel("ola mundo by kodo");
   Font minhafonte = new Font("arial",Font.ITALIC,20);
   
   janela.setBounds(200,200,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   texto.setBounds(100,0,200,30);
   texto.setFont(minhafonte);
   
   janela.add(texto);
    }
}



podemos ocultar um label usando o metodo setVisible com o argumento false, ou exibir ele com setVisible passando como argumento o true

Código:
package kodo;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Principal {
    private static JFrame janela;
    private static JLabel texto;
    private static JButton botaoExibir, botaoOcultar;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   texto = new JLabel("ola mundo by kodo");
   botaoExibir = new JButton("exibir");
   botaoOcultar = new JButton("ocultar");
   
   ActionListener eventoOcultar = new ActionListener() {
      
       @Override
       public void actionPerformed(ActionEvent e) {
      texto.setVisible(false);
       }
   };
   
   ActionListener eventoExibir = new ActionListener() {
      
       @Override
       public void actionPerformed(ActionEvent e) {
      texto.setVisible(true);
       }
   };
   
   janela.setBounds(200,200,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   texto.setBounds(100,0,200,30);
      
   botaoExibir.setBounds(40,50,100,30);
   botaoExibir.addActionListener(eventoExibir);
   botaoOcultar.setBounds(150,50,100,30);
   botaoOcultar.addActionListener(eventoOcultar);
   
   janela.add(texto);
   janela.add(botaoExibir);
   janela.add(botaoOcultar);
    }
}



bom galera com JLabel podemos deixar nosso programa mais dinamico sem precisa ficar exibindo mensagem por janelas com o JOptionPane podendo exibir elas diratamente na janela principal, esse tutorial ainda tera algumas partes então ate a proxima parte minna \o

by kodo no kami

Ver perfil do usuário https://eofclub.in/forum

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum