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
}
}
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
ResponderExcluirhttp://www.4shared.com/rar/qrgE7LFq/gmail_desktop. html