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 5

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

1 [tutorial] java swing: parte 5 em 21/9/2017, 07:07

continuando o tutorial de java, nessa parte vamos aprender a manipular o componente JTextArea que nos permite escrever uma quantidade maior de texto, para começar a gente cria a nossa janela basica como 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(400,350,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
    }
}



agora a gente instancia um objeto do tipo JTextArea (javax.swing.JTextArea)

Código:
package kodo;

import javax.swing.*;

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

como o layout do nosso programa é absoluto temos que especificar a posição, largura e altura do nosso objeto para adicionar ele na nossa janela

Código:
package kodo;

import javax.swing.*;

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



é possivel passar uma string assim que instanciar o objeto

Código:
package kodo;

import javax.swing.*;

public class Principal {
    private static JFrame janela;
    private static JTextArea texto;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   texto = new JTextArea("by kodo no kami");
   
   janela.setBounds(400,350,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   texto.setBounds(10,10,300,150);
   
   janela.add(texto);
    }
}

ou alterar o texto usando o metodo setText (para ler usamos o getText)

Código:
package kodo;

import javax.swing.*;

public class Principal {
    private static JFrame janela;
    private static JTextArea texto;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   texto = new JTextArea();
   
   janela.setBounds(400,350,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   texto.setBounds(10,10,300,150);
   texto.setText("kodo no kami");
   
   janela.add(texto);
    }
}



com o metodo setForeground alteramos a cor do texto

Código:
package kodo;

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

public class Principal {
    private static JFrame janela;
    private static JTextArea texto;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   texto = new JTextArea();
   
   janela.setBounds(400,350,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   texto.setBounds(10,10,300,150);
   texto.setForeground(Color.red);
   
   janela.add(texto);
    }
}

com o setBackground alteramos a cor do fundo

Código:
package kodo;

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

public class Principal {
    private static JFrame janela;
    private static JTextArea texto;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   texto = new JTextArea();
   
   janela.setBounds(400,350,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   texto.setBounds(10,10,300,150);
   texto.setBackground(Color.blue);
   
   janela.add(texto);
    }
}

para mudar a fonte e o tamaho dela usamos o metodo setFont, passamos como argumento para ela um objeto do tipo Font

Código:
package kodo;

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

public class Principal {
    private static JFrame janela;
    private static JTextArea texto;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   texto = new JTextArea();
   Font minhafonte = new Font("arial",Font.BOLD,15);
   
   janela.setBounds(400,350,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   texto.setBounds(10,10,300,150);
   texto.setFont(minhafonte);
   
   janela.add(texto);
    }
}

um outro exemplo mudando a fonte, cor do texto e background

Código:
package kodo;

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

public class Principal {
    private static JFrame janela;
    private static JTextArea texto;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   texto = new JTextArea();
   Font minhafonte = new Font("arial",Font.BOLD,15);
   
   janela.setBounds(400,350,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   texto.setBounds(10,10,300,150);
   janela.getContentPane().setBackground(Color.black);
   texto.setBackground(Color.darkGray);
   texto.setForeground(Color.white);
   texto.setFont(minhafonte);
   
   janela.add(texto);
    }
}



podemos desativar o componente com o metodo setEnabled passando como argumento false com isso não sera possivel escrever diretamente nele, ou ativar ele novamente passando como argumento true

Código:
package kodo;

import javax.swing.*;

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

tambem podemos deixar o componente invisivel com o metodo setVisible

Código:
package kodo;

import javax.swing.*;

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

para a gente colocar um scroll temos que instanciar outro objeto sendo ele o JScrollPane (javax.swing.JScrollPane), passamos como argumento o objeto do JTextArea e adicionamos na janela o objeto do JScrollPane e não do JTextArea

Código:
package kodo;

import javax.swing.*;

public class Principal {
    private static JFrame janela;
    private static JTextArea texto;
    private static JScrollPane rolagem;
   
    public static void main(String[] args){
   janela = new JFrame("minha janela");
   texto = new JTextArea();
   rolagem = new JScrollPane(texto);
   
   janela.setBounds(400,350,350,200);
   janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
   janela.setVisible(true);
   janela.setLayout(null);
   
   texto.setBounds(10,10,300,150);
   rolagem.setBounds(10,10,300,150);
   
   janela.add(rolagem);
    }
}



bom galera com JTextArea a gente pode criar um editor de texto com muita facilidade bastando apenas salvar o texto dele um em arquivo ou carregar o texto para ele de um arquivo, ate a proxima parte desse tutorial então "ja ne minna-san" \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