sexta-feira, 12 de novembro de 2010

Tela para Urna Eletrônica

Um grande colega meu me fez um pedido de uma tela para urna eletrônica...

Nada muito complexo, bastava a tela, sem tratamento de botões.

São duas classes. Na Classe Main, está o método main(String args[]) que chama o run(). O método run() é responsável por criar a tela e deixá-la visível. A outra classe é a MyListener. Deixei ela com o lixo que o Eclipse cria... depois tem que ver se serão necessários os métodos ou não. No método keyReleased(KeyEvent e), tratei o problema de só aceitar números... Ele até escreve, mas apaga as letras, não permitindo elas. Logo abaixo, pode-se colocar um select no banco, ou qualquer outro repositório para verificar se o número digitado já existe. No caso de haver, pode-se chamar o método run() denovo, passando os parâmetros que foram encontrados. Pra isso, cria-se um segundo método run(String nome, String partido, String caminhoFoto, String numeroDigitado), igual ao que tá ali, mas que receba o que está indicado ali em cima. Completa os campos com os dados e corre pro abraço!




----------------------------------------------------------------------------------------------------------------

import java.awt.Font;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class Main {
      public static void main(String[] args) {
          Main m = new Main();
          m.run();
      }
    
      public void run(){
            JFrame f = new JFrame();
            f.setLayout(null);
          
            // Objeto Font para ajustar o tipo, estilo e tamanho da fonte
            Font t = new Font("Arial", Font.BOLD, 20);
          
            // insere as frases do candidato
            JLabel Nome = new JLabel("TIRIRICA");
            // utilizando o objeto Fnto para ajustar o texto
            Nome.setFont(t);
            // ajustar posição do elemento: (coluna, linha, largura, altura)
            Nome.setBounds(120, 50, 400, 20);
          
            JLabel Partido = new JLabel("PPB - Partido dos Palhaços Brasileiros");
            Partido.setFont(t);
            Partido.setBounds(120, 150, 400, 20);
          
            // insere a foto do candidato
            ImageIcon img_candidato = new ImageIcon("C:/TIRIRICA.JPG");
            JLabel Foto = new JLabel(img_candidato);
            Foto.setBounds(560, 50, 120, 120);

            // insere a caixa de texto que vai receber os números do teclado.
            JTextField caixa = new JTextField("");
            caixa.setBounds(120, 220, 560, 25);
            caixa.addKeyListener(new MyListener());
      
            // Objeto do botão Branco.
            JButton branco = new JButton("Branco");
            branco.setBounds(120, 300, 120, 25);

            // Objeto do botão Corrige
            JButton corrige = new JButton("Corrige");
            corrige.setBounds(340, 300, 120, 25);

            // Ibjeto do botão Confirma
            JButton confirma = new JButton("Confirma");
            confirma.setBounds(560, 300, 120, 25);          
          
            // adiciona as Labels
            f.add(Nome);
            f.add(Partido);
          
            // adiciona a foto
            f.add(Foto);
          
            // adiciona o JTextField
            f.add(caixa);
          
            // adiciona os botões
            f.add(branco);
            f.add(corrige);
            f.add(confirma);
          
            // tamanho da tela
            f.setSize(800, 400);
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            f.setVisible(true);        
      }
}

----------------------------------------------------------------------------------------------------------------

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JTextField;

public class MyListener implements KeyListener { 
 
    public void keyTyped(KeyEvent e) { 
  
    } 
 
    public void keyPressed(KeyEvent e) { 
        
    } 
  
    public void keyReleased(KeyEvent e) { 
        Object source = e.getSource(); // pega o objeto que disparou a acao 
        if (source instanceof JTextField) { 
            JTextField txt = (JTextField) source; 
            try { 
                //testa se existem apenas numeros 
                Integer.parseInt(txt.getText());  
            }
            catch (NumberFormatException ex) { 
                //Pega a String que esta no textfield 
                String text = txt.getText(); 
                //retira o utimo caracter da string, que por sua vez nao e um numero 
                String newText = text.substring(0,text.length()-1); 
                txt.setText( newText ); 
            }
        }
       
        // trata aqui se o número digitado até então
        // coincide com os números dos possíveis candidatos
    } 
}

Um comentário:

  1. kkkkk... Leal Arthur a sua urna eletronica, uma vez uma em htlm tentei fazer o mais igual possivel... Agora vendo a sua achoq vou converte pra java a q fiz em html.... Já que to fazendo um teclado virtual mesmo....http://www.4shared.com/photo/ISgMe4jY/gmail_desktop_com_teclado_virt.html

    http://www.4shared.com/rar/qrgE7LFq/gmail_desktop. html

    ResponderExcluir