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

Participe do fórum, é rápido e fácil

Vilarejo PK2P
Bem-vindo ao fórum Vilarejo PK2P! O fórum oficial do canal Press Key to Play do Youtube!
Vilarejo PK2P
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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

Últimos assuntos

» RPG de Mesa: A fronteira Volume 4: O Castelo Owlrick. (D&D5e)
por Ariano 10/12/2020, 23:18

» [tutorial] hash em C/C++ com openssl
por kodo no kami 21/9/2020, 13:37

» ping lista grafico
por kodo no kami 24/7/2020, 07:53

» [Discord] Campanha de RPG D-cyber
por Jonatan15 17/7/2020, 11:11

» [tradução] 1869 (msdos)
por kodo no kami 26/6/2020, 13:43

» [source] exemplo filtro mediano
por kodo no kami 1/6/2020, 00:24

» [tutorial] criar filtro nas imagens (python)
por kodo no kami 22/5/2020, 19:29

» Wireless IDS Sagemcom
por kodo no kami 22/4/2020, 23:50

» [source] detectar dispositivos no wifi (sagemcom)
por kodo no kami 9/3/2020, 20:25

» [tutorial] wla assemblador (65xx, 68xx, z80, 8008, 8080 e huc6280)
por kodo no kami 2/2/2020, 16:42


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

[tutorial] java swing: parte 2

Ir para baixo  Mensagem [Página 1 de 1]

kodo no kami

kodo no kami

e ae galera continuando o tutorial de java swing nessa parte vamos aprender a criar um botão, para começar criamos uma janela como no tutorial anterior (ou carregar o codigo anterior XD)

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,300,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
    }
}

[tutorial] java swing: parte 2 209qbnb

para a gente criar um botão temos que instanciar a classe JButton (javax.swing.JButton), podemos passar como argumento para ela o texto no botão

Código:
package kodo;

import javax.swing.*;

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

com o botão criado podemos adicionar ele na janela com o metodo add no objeto da janela

Código:
package kodo;

import javax.swing.*;

public class Principal {
    private static JFrame janela;
    private static JButton botao;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   botao = new JButton("meu botao");
   
   janela.setBounds(200,200,300,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   
   janela.add(botao);
    }
}

[tutorial] java swing: parte 2 Aop2fc

é possivel colocar outro botão bastando instanciar outro objeto JButton, so que existe um pequeno problema o segundo botão ira sobrepor o primeiro botão

Código:
package kodo;

import javax.swing.*;

public class Principal {
    private static JFrame janela;
    private static JButton botao, botao2;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   botao = new JButton("meu botao");
   botao2 = new JButton("esse é o segundo botao");
   
   janela.setBounds(200,200,300,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   
   janela.add(botao);
   janela.add(botao2);
    }
}

[tutorial] java swing: parte 2 Sv6f89

o motivo do botão sobrepor o outro porque não existe nenhum layout na janela então vamos deixar o layout absoluto (não se preocupe mais para frente vamos falar mais sobre os layouts), para a gente colocar o layout absoluto passamos como argumento null para o metodo setLayout da nossa janela

Código:
package kodo;

import javax.swing.*;

public class Principal {
    private static JFrame janela;
    private static JButton botao, botao2;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   botao = new JButton("meu botao");
   botao2 = new JButton("esse é o segundo botao");
   
   janela.setBounds(200,200,300,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   janela.add(botao);
   janela.add(botao2);
    }
}

se a gente executar o codigo não sera exibido nenhum botão apenas uma janela vazia devido eles esta com tamanho 0x0, então temos que redimensionar os botões usando os metodos setSize e setLocation para colocar eles com um tamanho especifico e uma posição especifica na janela (tambem podemos usar o setBounds e passar os 4 paremetros ao mesmo tempo)

Código:
package kodo;

import javax.swing.*;

public class Principal {
    private static JFrame janela;
    private static JButton botao, botao2;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   botao = new JButton("meu botao");
   botao2 = new JButton("esse é o segundo botao");
   
   janela.setBounds(200,200,300,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   botao.setBounds(20,30, 200, 50);
   botao2.setBounds(20,90, 200, 50);
   
   janela.add(botao);
   janela.add(botao2);
    }
}

[tutorial] java swing: parte 2 2v2frih

podemos modificar o texto no botão usando o metodo setText no objeto do botão

Código:
package kodo;

import javax.swing.*;

public class Principal {
    private static JFrame janela;
    private static JButton botao;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   botao = new JButton("meu botao");
   
   janela.setBounds(200,200,300,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   botao.setBounds(20,30, 200, 50);
   botao.setText("novo texto");
   
   janela.add(botao);
    }
}

ou ler esse texto com o metodo getText

Código:
package kodo;

import javax.swing.*;

public class Principal {
    private static JFrame janela;
    private static JButton botao;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   botao = new JButton("meu botao");
   String texto;
   
   janela.setBounds(200,200,300,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   botao.setBounds(20,30, 200, 50);
   texto = botao.getText();
   System.out.println(texto);
   
   janela.add(botao);
    }
}

é possivel mudar a cor do texto usando o metodo setForeground, passamos como argumento para ele o atributo da cor no Color (java.awt.Color)

Código:
package kodo;

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

public class Principal {
    private static JFrame janela;
    private static JButton botao, botao2;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   botao = new JButton("sair da matrix");
   botao2 = new JButton("fica na matrix");
   
   janela.setBounds(200,200,350,150);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   botao.setBounds(10,30, 150, 50);
   botao.setForeground(Color.red);
   botao2.setBounds(180,30, 150, 50);
   botao2.setForeground(Color.green);
   
   janela.add(botao);
   janela.add(botao2);
    }
}

[tutorial] java swing: parte 2 Vghiya

tambem é possivel mudar a cor de fundo usando o metodo setBackground

Código:
package kodo;

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

public class Principal {
    private static JFrame janela;
    private static JButton botao, botao2, botao3, botao4;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   botao = new JButton("c/c++");
   botao2 = new JButton("pascal");
   botao3 = new JButton("perl");
   botao4 = new JButton("php");
   
   janela.setBounds(200,200,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   janela.getContentPane().setBackground(Color.black);
   
   botao.setBounds(10,30, 150, 50);
   botao.setBackground(Color.orange);
   botao2.setBounds(180,30, 150, 50);
   botao2.setBackground(Color.yellow);
   botao3.setBounds(10,100, 150, 50);
   botao3.setBackground(Color.gray);
   botao4.setBounds(180,100, 150, 50);
   botao4.setBackground(Color.green);
   
   janela.add(botao);
   janela.add(botao2);
   janela.add(botao3);
   janela.add(botao4);
    }
}

[tutorial] java swing: parte 2 2cxwcg4

para mudar a fonte usamos o metodo setFont, temos que passar como argumento para ele um objeto do tipo font (java.awt.Font)

Código:
package kodo;

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

public class Principal {
    private static JFrame janela;
    private static JButton botao;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   botao = new JButton("ok");
   Font minhafonte = new Font("arial",Font.BOLD, 20);
   
   janela.setBounds(200,200,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   botao.setBounds(10,30, 150, 50);
   botao.setFont(minhafonte);
   
   janela.add(botao);
    }
}

[tutorial] java swing: parte 2 J6q782

podemos desativar um botão com o metodo setEnabled passando como argumento false, para ativar o botão novamente basta passar como argumento o true

Código:
package kodo;

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

public class Principal {
    private static JFrame janela;
    private static JButton botao;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   botao = new JButton("ok");
   
   janela.setBounds(200,200,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   botao.setBounds(10,30, 150, 50);
   botao.setEnabled(false);
   
   janela.add(botao);
    }
}

para manipular eventos como o apertar de um botão usamos o evento ActionListener (não é o unico existem outros), para a gente usar esse evento usamos o metodo setActionListener no botão, passamos como argumento para ele o metodo ActionListener (java.awt.event.ActionListener), nessa classe existe um metodo que é o actionPerformed que temos que sobrescrever ele com o nosso metodo com isso quando o botao for pressionado sera chamado esse metodo

Código:
package kodo;

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

public class Principal {
    private static JFrame janela;
    private static JButton botao;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   botao = new JButton("minha mensagem");
   
   ActionListener acao = new ActionListener() {
      
       @Override
       public void actionPerformed(ActionEvent e) {
       }
   };
   
   janela.setBounds(200,200,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   botao.setBounds(10,30, 150, 50);
   botao.addActionListener(acao);
   
   janela.add(botao);
    }
}

podemos por exemplo exibir uma janela com uma mensagem usando a classe JOptionPane (javax.swing.JOptionPane) com o metodo showMessageDialog dele (ou qualquer outra coisa)

Código:
package kodo;

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

public class Principal {
    private static JFrame janela;
    private static JButton botao;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   botao = new JButton("java");
   
   ActionListener acao = new ActionListener() {
      
       @Override
       public void actionPerformed(ActionEvent e) {
      JOptionPane.showMessageDialog(null, "tuto by kodo no kami");
       }
   };
   
   janela.setBounds(200,200,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   botao.setBounds(10,30, 150, 50);
   botao.addActionListener(acao);
   
   janela.add(botao);
    }
}

[tutorial] java swing: parte 2 W89fte

então galerinha esse tutorial não termina aqui não tem muitas coisas que vou abordar em futuras partes dele \o, tambem vou continuar o tutorial de blitz basic (assim que o kodo toma vergonha na cara e instalar o windows novamente kkk), alem de precisar terminar o ebook de asm esse ano tambem (pqp o kodo ta é fudido isso sim u.u ), então galera ate a proxima parte desse tutorial ou de algum outro \o

by kodo no kami

https://eofclub.in/forum

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos