a ae galera continuando a quarta parte do tutorial de swing em java nessa vamos aprender sobre JTextField, sendo esse componente nos permite entrar com dados digitado do usuario, para começar o tutorial como de costume criamos uma simples janela
agora a gente instancia um objeto da classe JTextField (javax.swing.JTextField)
como estamos usando layout absoluto temos que especificar o tamanho dele e a sua posição com o metodo setBounds
por fim basta a gente adicionar ele na janela usando o metodo add nela
podemos alterar o texto dentro via programação usando o metodo setText, nele passamos como argumento uma string
ou pegar o texto la dentro usando o metodo getText
podemos fazer isso quando apertar em um botão
para alterar a cor do texto usamos o metodo setForeground, passamos como argumento para ele um atributo do Color
para mudar a cor do fundo usamos o metodo setBackground e passamos como argumento o atributo do Color
para a fonte usamos o metodo setFont e o seu argumento é um objeto do tipo Font
outro exemplo alterando a fonte, background e o texto
podemos desativar e ativar ele com o metodo setEnabled, se passar o argumento false sera desativado não sendo possivel modificar, se passar o argumento true sera habilitado novamente
da mesma forma podemos ocultar com o metodo setVisible bastando passar como argumento false (ou true para fazer aparecer novamente)
outro componente semelhante ao JTextField é o JPasswordField (javax.swing.JPasswordField), sendo sua diferença que ele não exibe os caracteres e sim asterisco no lugar
bom galera combinando o JTextField, JButton e JLabel é possivel criar quase tudo para um programa grafico. então galera esse tutorial ainda tera algumas partes falando sobre outros componentes então ate a proxima parte \o
by kodo no kami
- 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.setLayout(null);
janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
janela.setVisible(true);
}
}
agora a gente instancia um objeto da classe JTextField (javax.swing.JTextField)
- Código:
package kodo;
import javax.swing.*;
public class Principal {
private static JFrame janela;
private static JTextField entrada;
public static void main(String[] args){
janela = new JFrame("minha janela");
entrada = new JTextField();
janela.setBounds(200,200,300,200);
janela.setLayout(null);
janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
janela.setVisible(true);
}
}
como estamos usando layout absoluto temos que especificar o tamanho dele e a sua posição com o metodo setBounds
- Código:
package kodo;
import javax.swing.*;
public class Principal {
private static JFrame janela;
private static JTextField entrada;
public static void main(String[] args){
janela = new JFrame("minha janela");
entrada = new JTextField();
janela.setBounds(200,200,300,200);
janela.setLayout(null);
janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
janela.setVisible(true);
entrada.setBounds(0,0,300,25);
}
}
por fim basta a gente adicionar ele na janela usando o metodo add nela
- Código:
package kodo;
import javax.swing.*;
public class Principal {
private static JFrame janela;
private static JTextField entrada;
public static void main(String[] args){
janela = new JFrame("minha janela");
entrada = new JTextField();
janela.setBounds(200,200,300,200);
janela.setLayout(null);
janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
janela.setVisible(true);
entrada.setBounds(0,0,300,25);
janela.add(entrada);
}
}
podemos alterar o texto dentro via programação usando o metodo setText, nele passamos como argumento uma string
- Código:
package kodo;
import javax.swing.*;
public class Principal {
private static JFrame janela;
private static JTextField entrada;
public static void main(String[] args){
janela = new JFrame("minha janela");
entrada = new JTextField();
janela.setBounds(200,200,300,200);
janela.setLayout(null);
janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
janela.setVisible(true);
entrada.setBounds(0,0,300,25);
entrada.setText("o texto foi alterado!!!");
janela.add(entrada);
}
}
ou pegar o texto la dentro usando o metodo getText
- Código:
package kodo;
import javax.swing.*;
public class Principal {
private static JFrame janela;
private static JTextField entrada;
public static void main(String[] args){
janela = new JFrame("minha janela");
entrada = new JTextField();
String texto;
janela.setBounds(200,200,300,200);
janela.setLayout(null);
janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
janela.setVisible(true);
entrada.setBounds(0,0,300,25);
entrada.setText("o texto foi alterado!!!");
texto = entrada.getText();
System.out.println(texto);
janela.add(entrada);
}
}
podemos fazer isso quando apertar em um botão
- Código:
package kodo;
import javax.swing.*;
import java.awt.event.*;
public class Principal {
private static JFrame janela;
private static JTextField entrada;
private static JButton botao;
private static JLabel texto;
public static void main(String[] args){
janela = new JFrame("minha janela");
entrada = new JTextField();
botao = new JButton("waifu");
texto = new JLabel();
ActionListener evento = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
texto.setText(entrada.getText());
}
};
janela.setBounds(200,200,300,200);
janela.setLayout(null);
janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
janela.setVisible(true);
entrada.setBounds(25,10,250,25);
texto.setBounds(10,100,280,30);
botao.setBounds(25,50,250,30);
botao.addActionListener(evento);
janela.add(entrada);
janela.add(botao);
janela.add(texto);
}
}
para alterar a cor do texto usamos o metodo setForeground, passamos como argumento para ele um atributo do Color
- Código:
package kodo;
import javax.swing.*;
import java.awt.*;
public class Principal {
private static JFrame janela;
private static JTextField entrada;
public static void main(String[] args){
janela = new JFrame("minha janela");
entrada = new JTextField();
janela.setBounds(200,200,300,200);
janela.setLayout(null);
janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
janela.setVisible(true);
entrada.setBounds(25,10,250,25);
entrada.setForeground(Color.blue);
janela.add(entrada);
}
}
para mudar a cor do fundo usamos o metodo setBackground e passamos como argumento o atributo do Color
- Código:
package kodo;
import javax.swing.*;
import java.awt.*;
public class Principal {
private static JFrame janela;
private static JTextField entrada;
public static void main(String[] args){
janela = new JFrame("minha janela");
entrada = new JTextField();
janela.setBounds(200,200,300,200);
janela.setLayout(null);
janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
janela.setVisible(true);
entrada.setBounds(25,10,250,25);
entrada.setBackground(Color.green);
janela.add(entrada);
}
}
para a fonte usamos o metodo setFont e o seu argumento é um objeto do tipo Font
- Código:
package kodo;
import javax.swing.*;
import java.awt.*;
public class Principal {
private static JFrame janela;
private static JTextField entrada;
public static void main(String[] args){
janela = new JFrame("minha janela");
entrada = new JTextField();
Font fonte = new Font("arial",Font.BOLD,18);
janela.setBounds(200,200,300,200);
janela.setLayout(null);
janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
janela.setVisible(true);
entrada.setBounds(25,10,250,25);
entrada.setFont(fonte);
janela.add(entrada);
}
}
outro exemplo alterando a fonte, background e o texto
- Código:
package kodo;
import javax.swing.*;
import java.awt.*;
public class Principal {
private static JFrame janela;
private static JTextField entrada, entrada2, entrada3;
public static void main(String[] args){
janela = new JFrame("minha janela");
entrada = new JTextField();
entrada2 = new JTextField();
entrada3 = new JTextField();
Font fonte = new Font("arial",Font.BOLD,18);
janela.setBounds(200,200,300,200);
janela.setLayout(null);
janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
janela.setVisible(true);
janela.getContentPane().setBackground(Color.blue);
entrada.setBounds(25,10,250,25);
entrada.setBackground(Color.cyan);
entrada.setForeground(Color.red);
entrada.setFont(fonte);
entrada2.setBounds(25,50,250,25);
entrada2.setBackground(Color.cyan);
entrada2.setForeground(Color.darkGray);
entrada2.setFont(fonte);
entrada3.setBounds(25,90,250,25);
entrada3.setBackground(Color.cyan);
entrada3.setForeground(Color.orange);
entrada3.setFont(fonte);
janela.add(entrada);
janela.add(entrada2);
janela.add(entrada3);
}
}
podemos desativar e ativar ele com o metodo setEnabled, se passar o argumento false sera desativado não sendo possivel modificar, se passar o argumento true sera habilitado novamente
- Código:
package kodo;
import javax.swing.*;
public class Principal {
private static JFrame janela;
private static JTextField entrada;
public static void main(String[] args){
janela = new JFrame("minha janela");
entrada = new JTextField();
janela.setBounds(200,200,300,200);
janela.setLayout(null);
janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
janela.setVisible(true);
entrada.setBounds(25,10,250,25);
entrada.setEnabled(false);
janela.add(entrada);
}
}
da mesma forma podemos ocultar com o metodo setVisible bastando passar como argumento false (ou true para fazer aparecer novamente)
- Código:
package kodo;
import javax.swing.*;
public class Principal {
private static JFrame janela;
private static JTextField entrada;
public static void main(String[] args){
janela = new JFrame("minha janela");
entrada = new JTextField();
janela.setBounds(200,200,300,200);
janela.setLayout(null);
janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
janela.setVisible(true);
entrada.setBounds(25,10,250,25);
entrada.setVisible(false);
janela.add(entrada);
}
}
outro componente semelhante ao JTextField é o JPasswordField (javax.swing.JPasswordField), sendo sua diferença que ele não exibe os caracteres e sim asterisco no lugar
- Código:
package kodo;
import javax.swing.*;
public class Principal {
private static JFrame janela;
private static JPasswordField entrada;
public static void main(String[] args){
janela = new JFrame("minha janela");
entrada = new JPasswordField();
janela.setBounds(200,200,300,200);
janela.setLayout(null);
janela.setDefaultCloseOperation(janela.EXIT_ON_CLOSE);
janela.setVisible(true);
entrada.setBounds(25,10,250,25);
janela.add(entrada);
}
}
bom galera combinando o JTextField, JButton e JLabel é possivel criar quase tudo para um programa grafico. então galera esse tutorial ainda tera algumas partes falando sobre outros componentes então ate a proxima parte \o
by kodo no kami