JOptionPane obter String BD

5 respostas
malonne

Galera o problema é o seguinte:
Criei um formulário para cadastro de Cliente.
Para inserir os dados tá tudo certo, mas para alterar os dados gostaria de um JOptionPane onde o usuário digitasse o nome a alterar.
A partir daí o programa buscaria os dados e jogaria todos em seus respectivos campos.
Aí o usuário apenas alteraria o que desejasse e salvaria.
Alguma idéia? Não estou consetguindo que o JOptionPane busque os dados no Banco.
E também quando o usuário for digitando o nome do cliente, no campo texto do JOP vá aparecendo os nomes possíveis existentes no banco.
Grande Abraço!

5 Respostas

Danillo_Moreno

Use um InputDialog e guarde o que foi digitado, depois faça uma busca no BD com essa informação…

FilhoDoRei

String info = JOptionPane.showInputDialog(null, “Digite Informação”);

Depois é só criar um metodo que receba como parametro a String digitada.

exemplo:

buscarInformacaoNoBD(info);

malonne

Certo!
E o que eu posso usar para que quando o Usuário for digitando o nome do Cliente no JOPtionPane, no campo vá aparecendo o texto que existe no BD?
EX: Quando digitar a letra “A”, apareça os nomes que comecem com “A”, excluindo o restante que não interessa?
Abraço

Danillo_Moreno

Nesse caso acho que o JOptionPane não é a melhor solução, vc deve fazer um combobox ou algo parecido já preenchido com todos os nomes do banco e ir filtrando isso…

Se o seu sistema for web, da pra colocar uns efeitos do AJAX…

FilhoDoRei

Deixa ver se eu entendi, vc quer que numa caixa de dialogo quando o usuario digitar aparece em um lugar JTable por exemplo, as informações que coicidirem com as letras digitadas certo?

Se for isso, acho que com o JOptionPane não tem como fazer, seria bom vc fazer o que o Danillo disse,

Porém se vc quiser se arriscar eu tenho uma solução legal:

Vc criaria uma JFrame com uma JTextArea nele e com um JTextArea ou se vc preferir um JTable, dai vc trataria os eventos de tecla do JTextArea, ou seja, a medida que o usuario for digitando no JTextArea vc vai tratando os eventos gerados,

exemplo:

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Estudos extends JFrame implements KeyListener{
  private JTextArea textArea;  

  public Estudos(){
    super("Eventos do Mouse e Teclado");
    Container c = getContentPane();
    FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
    c.setLayout(layout);
    textArea = new JTextArea(100, 150);
    textArea.setEnabled(false);    
    textArea.setDisabledTextColor(Color.BLACK); 
    c.add(textArea);

    addKeyListener(this);

    setSize(350, 250);
    setVisible(true);
  }
    
  public void keyPressed(KeyEvent e){
    textArea.setText(
      String.format("Tecla: %s - Código Unicode: %d", 
        e.getKeyText(e.getKeyCode()), e.getKeyCode()));
  }
    
  public void keyReleased(KeyEvent e){
    // sem implementação
  }

  public void keyTyped(KeyEvent e){
    // sem implementação
  }   
  
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}
*codigo disponivel em: http://www.arquivodecodigos.net/arquivo/visualizar_dica.php?qual_dica=1104

Tenta abstrair as principais funcionalidades desse codigo e implementar aquilo que vc quer fazer.

espero ter ajudado!

falows

Criado 16 de abril de 2008
Ultima resposta 16 de abr. de 2008
Respostas 5
Participantes 3