Exemplo de 1 GUI de 1 formulário, feito na aula de Fundamentos de Programação 2...
// import dos pacotes
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class FormularioGUI extends JFrame{
// atributos da class
private JLabel lblNome, lblSobrenome, lblTelefone, lblEmail, lblData,lblCidade, lblSexo;
private JTextField jtfNome,jtfSobrenome,jtfTelefone, jtfEmail, jtfData, jtfCidade;
private JRadioButton rbSexoM, rbSexoF;
private JButton jbGuardar, jbCancelar, jbVisualizar,jbLimpar;
/*criando um objecto da Class Formulario, class essa onde contem os metodos set's e get's, bem como o toString(), e os seus construtores (DEFAULT, E CANONICO) */
private Formulario formulario = new Formulario();
// criando um objecto, ou instanciando a class interna, TrataEventos.
private TrataEventos ev = new TrataEventos();
// construtor Default da Class FormularioGUI
public FormularioGUI(){
// criando as JLabel's
lblNome = new JLabel("Nome") ;
lblSobrenome = new JLabel("Sobrenome") ;
lblTelefone = new JLabel("Telefone") ;
lblEmail = new JLabel("Email") ;
lblData = new JLabel("Data Actual") ;
lblCidade = new JLabel("Cidade");
lblSexo = new JLabel("Sexo");
// criando as JTextFiedl
jtfNome = new JTextField(15);
jtfSobrenome = new JTextField(15);
jtfTelefone = new JTextField(15);
jtfEmail = new JTextField(15);
jtfData = new JTextField(15);
jtfData.setEditable(false);
jtfCidade = new JTextField(15);
// criando os JRadioButton
rbSexoM = new JRadioButton("Masculino");
rbSexoM.setBackground(Color.yellow);
rbSexoF = new JRadioButton("Feminino");
rbSexoF.setBackground(Color.yellow);
// Criando os JButton
jbGuardar = new JButton("Guardar");
jbGuardar.setBackground(Color.green);
jbGuardar.addActionListener(ev);
jbVisualizar = new JButton("Visualizar");
jbVisualizar.setBackground(Color.green);
jbVisualizar.addActionListener(ev);
jbLimpar = new JButton("Limpar");
jbLimpar.setBackground(Color.green);
jbLimpar.addActionListener(ev);
jbCancelar = new JButton("Cancelar");
jbCancelar.setBackground(Color.green);
jbCancelar.addActionListener(ev);
criaGui();
}
// metodo onde contem os metodos da JFrame (Janela)
public void criaGui(){
// Dando um titulo a janela
setTitle("Formulario de Inscricao");
// definindo o tamanho
setSize(222,415);
// impedindo que a janela seja redimensionada
setResizable(false);
// para a janela abrir no centro do ecra
setLocationRelativeTo(null);
// para terminar a aplicacao quando fechar a janela
setDefaultCloseOperation(EXIT_ON_CLOSE);
// onde vamos inserir os elementos
Container contentor = getContentPane();
// mudando a cor do fundo
contentor.setBackground(Color.yellow);
// criando um arrumador
contentor.setLayout(new FlowLayout());
//adicionando os elementos no Container
contentor.add(lblNome);
contentor.add(jtfNome);
contentor.add(lblSobrenome);
contentor.add(jtfSobrenome);
contentor.add(lblTelefone);
contentor.add(jtfTelefone);
contentor.add(lblEmail);
contentor.add(jtfEmail);
contentor.add(lblData);
contentor.add(jtfData);
contentor.add(lblCidade);
contentor.add(jtfCidade);
contentor.add(lblSexo);
contentor.add(rbSexoM);
contentor.add(rbSexoF);
contentor.add(jbGuardar);
contentor.add(jbVisualizar);
// tornando o botão visível, mas inactivo
jbVisualizar.setEnabled(false);
contentor.add(jbLimpar);
contentor.add(jbCancelar);
// atribuindo uma String para a JTextField Data
jtfData.setText("06/09/2011");
// tornando visível a janela
setVisible(true);
}
// método que verifica se todos os campos estão preenchidos
public boolean ValidarCampos(){
boolean validou = true;
// verifica se o campo nome esta vazio
if(jtfNome.getText().equals("")){
validou = false;
JOptionPane.showMessageDialog(null, "INSIRA O NOME"," ERRO NO NOME" , JOptionPane.ERROR_MESSAGE );
lblNome.setText("*Nome");
lblNome.setForeground(Color.red);
}
else{
lblNome.setText("Nome");
lblNome.setForeground(Color.black);
}
if(jtfSobrenome.getText().equals("")){
validou = false;
JOptionPane.showMessageDialog(null, "INSIRA O SOBRENOME"," ERRO NO SOBRENOME" , JOptionPane.ERROR_MESSAGE );
lblSobrenome.setText("*Sobrenome");
lblSobrenome.setForeground(Color.red);
}
else{
lblSobrenome.setText("Sobrenome");
lblSobrenome.setForeground(Color.black);
}
if(jtfTelefone.getText().equals("")){
validou = false;
JOptionPane.showMessageDialog(null, "INSIRA O TELEFONE"," ERRO NO TELEFONE" , JOptionPane.ERROR_MESSAGE );
lblTelefone.setText("*Telefone");
lblTelefone.setForeground(Color.red);
}
else{
lblTelefone.setText("Telefone");
lblTelefone.setForeground(Color.black);
}
if(jtfEmail.getText().equals("")){
validou = false;
JOptionPane.showMessageDialog(null, "INSIRA O EMAIL"," ERRO NO EMAIL" , JOptionPane.ERROR_MESSAGE );
lblEmail.setText("*Email");
lblEmail.setForeground(Color.red);
}
else{
lblEmail.setText("Email");
lblEmail.setForeground(Color.black);
}
if(jtfCidade.getText().equals("")){
validou = false;
JOptionPane.showMessageDialog(null, "INSIRA A CIDADE"," ERRO NA CIDADE" , JOptionPane.ERROR_MESSAGE );
lblCidade.setText("*Cidade");
lblCidade.setForeground(Color.red);
}
else{
lblCidade.setText("Cidade");
lblCidade.setForeground(Color.black);
}
return validou;
}
// class que trata dos eventos
private class TrataEventos implements ActionListener
{
public void actionPerformed(ActionEvent evento)
{
if(evento.getSource() == jbGuardar )
{
if(ValidarCampos() == true){
JOptionPane.showMessageDialog(null, "DADOS GUARDADOS COM SUCESSO !!!...");
jbVisualizar.setEnabled(true);
formulario.setNome(jtfNome.getText());
formulario.setSobreNome(jtfSobrenome.getText());
formulario.setTelefone(jtfTelefone.getText());
formulario.setEmail(jtfEmail.getText());
formulario.setCidade(jtfCidade.getText());
//formulario.setSexo()
}
}
if (evento.getSource() == jbVisualizar ){
JOptionPane.showMessageDialog(null,"Nome: "+formulario.getNome()+"\n"+"Sobrenome: "+formulario.getSobreNome()+"\n"+"Telefone: "+formulario.getTelefone()
+"\n"+"Email: "+formulario.getEmail()+"\n"+"Cidade: "+formulario.getCidade()+"\n"+"Sexo: "+rbSexoM.getText());
}
if (evento.getSource() == jbCancelar ){
dispose();
}
if (evento.getSource() == jbLimpar ){
jbVisualizar.setEnabled(false);
jtfNome.setText("");
jtfSobrenome.setText("");
jtfTelefone.setText("");
jtfEmail.setText("");
jtfCidade.setText("");
formulario.setNome("");
formulario.setSobreNome("");
formulario.setTelefone("");
formulario.setEmail("");
formulario.setCidade("");
}
}
}
}
Sem comentários:
Enviar um comentário