13 de setembro de 2011
12 de setembro de 2011
2M - Semaforo.java [Brevemente]
Brevemente farei uma versão do "semaforo.java". Em tempos vi uma aplicação idêntica (semaforo.java, autor desconhecido) e fiquei impressionado. Por isso ganhei inspiração para dar continuidade a um projecto a muito tempo começado, 2M-Semaforo.java.
A ideia do software é simular o movimento de um veiculo numa via sinalizada por um semáforo, em que o movimento do veiculo é feito por intermédio de comandos do utilizados (teclas UP, DOWN, LEFT, RIGHT, ou RATO).
O semáforo contem um contador decrescente com duração de 20 segundos para cada estado (cores), sendo a cor Verde (transito autorizado), Amarela (Atenção...transição do verde para o vermelho), Vermelha (transito proibido).
2M-Calculadora.java (Versão 1.3)
*********************************************************
Programa em construção....
**********************************************************
GUI de uma calculadora, contendo JMenuBar, JMenuItem, JButton, JLabel, JTextField, etc...
Os botões foram criados,e por um ciclo (for), e armazenados num array de botões...de modo a evitar criar 30 linhas de códigos, para criar cada botão. E os botões foram organizados por meio de um GridLayout, que arrumou por 5 linhas, e 6 colunas.
Para um design optimizado, estou a utilizar a class Font, e Color, para mudar o tipo, tamanho, e a cor das letras. e também uso o Look And Fell do sistema operativo em uso, nesse caso, WINDOWS.
6 de setembro de 2011
FormularioSimplesGui.java (Versao 1.0)
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("");
}
}
}
}
Subscrever:
Mensagens (Atom)



