Gravar no Bco de Dados usando Swing

10 respostas
P

Olá sou iniciante em Java, fiz uma pequena aplicação (um cadastro) gravo no bco etc., porém agora estou iniciando com Swing, consegui fazer a tela, porém, não consigo associar o código a isso, gostaria de obter algum exemplo, dicas, etc,. Minha aplicação tem campos Strings e Int, minha telinha tem apenas "JLabel, JTextFiel e JButton(“Cadastrar” e “Cancelar”), quero gravar esses dados no Bco e mostrar… Poderiam por favor me ajudar???

10 Respostas

peczenyj

Vc não usa Swing para gravar no banco de dados, usa JDBC, usa alguns frameworks como o Hibernate. Swing é para a parte grafica.

Veja a sessão de artigos aqui do guj ou olhe este tutorial pra começar:

http://jairelton.com/tutoriais/jdbc/index.html

P

Acho que me expressei mal… eu consigo gravar no bco usando hibernate e tudo mais… o que não estou conseguindo é capturar os dados que estão no JTextField para enviar para enviar para o bco, ou seja, não sei se tem que colocar esses dados numa variável ou se pode mandar direto, ou se tem uma forma melhor de fazer…

A

seuTextField.getText();

:slight_smile:

Jair_Rillo_Junior

Use o método getText() da classe JTextField, Ex:

String valor = jTextField.getText();
P

certo! mas eu tenho uma classe chamada:

public class Teste extends JFrame

public JijuvG() { try { jbInit(); } catch (Exception e) { e.printStackTrace(); } }

private void jbInit() throws Exception

e tb logicamente os métodos de cada botão textfiel etc,
eu to meio perdido eu não sei onde eu deve declara e passar esses dados p/ a variável, se no Main ou onde será, desculpem minha ignorância, mas, sem as telas eu ja estou sabendo, porém, agora usando o swing… to perdito. obrigado…

A

tem criar um método actionPerformed pra q quando for pressionado seu botão, ele consiga pegar os valores dos seus TextFields…

P

Valeu a todos vcs!!! ta dando certo!!!

P
Agora estou com o seguinte problema..... qdo fui tentar gravar no Bco me deparei com o seguinte erro... estou colocando parte do código pq é bastante longo
import com.jgoodies.forms.layout.CellConstraints;
.
.
.
import org.hibernate.Session;
import org.hibernate.Transaction;


public class Jijuv extends JFrame 
{
    private JPanel jPanel1 = new JPanel();
    private JPanel jPanel2 = new JPanel();
    .
    .
    .
    private JTextField jTextField1 = new JTextField(40);    
    private JTextField jTextField2 = new JTextField(40);
    private JTextField jTextField3 = new JTextField(3);
    private JTextField jTextField4 = new JTextField(40);
    private JTextField jTextField5 = new JTextField(40);
    private JTextField jTextField6 = new JTextField(40);
    private JTextField jTextField7 = new JTextField(40);
    private JTextField jTextField8 = new JTextField(40);
    private JTextField jTextField9 = new JTextField(40);
    private JTextField jTextField10 = new JTextField(40);

    public Jijuv() 
    {
        try 
        {
            jbInit();
        } 
        catch (Exception e) 
        {
            e.printStackTrace();
        }
    }

    private void jbInit() throws Exception 
    {
        this.getContentPane().setLayout( null );
        this.setSize(new Dimension(482, 361));
        this.setTitle("JIJUV - Juizado da Infância e Juventude");
        jPanel1.setBounds(new Rectangle(5, 5, 465, 290));
        jPanel1.setLayout(formLayout1);
        jPanel2.setBounds(new Rectangle(58, 290, 440, 35));
        jButton1.setText("Cadastrar");
        jButton1.addMouseListener(new MouseAdapter() 
        {
                    public void mouseClicked(MouseEvent e) 
                    {
                        jButton1_mouseClicked(e);
                    }
        });
        jButton2.setText("Cancelar");
        jButton2.addMouseListener(new MouseAdapter() {
                    public void mouseClicked(MouseEvent e) {
                        jButton2_mouseClicked(e);
                    }
                });
        jButton1.addMouseListener(new MouseAdapter() 
        {
                    public void mouseClicked(MouseEvent e) 
                    {
                        jButton2_mouseClicked(e);
                    }
        });
        jLabel1.setText("Nome: ");
        jLabel1.setFont(new Font("Dialog", 1, 15));
        jLabel1.setVerticalAlignment(SwingConstants.TOP);
        jLabel1.setVerticalTextPosition(SwingConstants.TOP);
        jLabel1.setHorizontalAlignment(SwingConstants.RIGHT);
        jLabel2.setText("Rua: ");
        jLabel2.setFont(new Font("Dialog", 1, 15));
        jLabel2.setVerticalAlignment(SwingConstants.TOP);
        jLabel2.setVerticalTextPosition(SwingConstants.TOP);
        jLabel2.setHorizontalAlignment(SwingConstants.RIGHT);
       .
       .
       .
        getJTextField1().setBounds(new Rectangle(95, 35, 327, 21));
        getJTextField1().addActionListener(new ActionListener() 
        {
                    public void actionPerformed(ActionEvent e) 
                    {
                        jTextField1_actionPerformed(e);
                    }
        });
        getJTextField1().addActionListener(new ActionListener() 
        {
                    public void actionPerformed(ActionEvent e) 
                    {
                        jTextField2_actionPerformed(e);
                    }
        });
        jPanel2.add(jButton1, null);
       .
       .
       .
    }    
    
    private void JijuvG() 
    {
    }
    
    private void jButton1_mouseClicked(MouseEvent e) 
    {   
        String nome = jTextField1.getText();
        String rua = jTextField2.getText();
        .
        .
        .
        
    }
    private void jButton2_mouseClicked(MouseEvent e) 
    {   
        jTextField1.setText("");
        jTextField2.setText("");
                
    }

    private void jTextField1_actionPerformed(ActionEvent e) 
    {        
    }
    public JTextField getJTextField1() 
    {
        return jTextField1;
    }
    public void setJTextField1(JTextField jTextField1) 
    {
        this.jTextField1 = jTextField1;
    }
    
    private void jTextField2_actionPerformed(ActionEvent e) 
    {        
    }
    public JTextField getJTextField2() 
    {
        return jTextField2;
    }
    public void setJTextField2(JTextField jTextField2) 
    {
        this.jTextField2 = jTextField2;
    }
    
        
    public static void main( String args[] ) 
    {
        Jijuv gridBagFrame = new Jijuv();  
        gridBagFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        gridBagFrame.setSize( 510, 370 ); // configura o tamanho do frame
        gridBagFrame.setVisible( true ); // mostra o frame
      
        Session sessao;
        sessao = HibernateUtility.getSession(); //Abrindo uma sessão
        Transaction transaction = sessao.beginTransaction(); //Iniciando uma transação          
                     
        Endereco endereco = new Endereco();
        String rua, numero, bairro, complemento, cidade, estado, cep;
        int n;
        endereco.setRua(rua);
        endereco.setNumero(n);
        n=Integer.parseInt(numero);
        endereco.setBairro(bairro);        
        endereco.setComplemento(complemento);
        endereco.setCidade(cidade);
        endereco.setEstado(estado);
        endereco.setCep(cep);        
        sessao.save(endereco);
               
        Pessoa pessoa = new Pessoa();
        String nome, fone, email;
        pessoa.setNomeP(nome); 
        pessoa.setTelefone(fone);
        pessoa.setEmail(email);        
        pessoa.setEndereco(endereco);
        sessao.save(pessoa);
        
        transaction.commit(); //Finalizando a transação
        sessao.close();       //Fechando a sessão
        //endereco.ver();
    } // final da classe Main
}
erro:
Error(404,25): variable rua might not have been initialized
Error(416,25): variable nome might not have been initialized

o que poderia ser??

Ironlynx

variable rua might not have been initialized

O erro é bem claro.
Vc não está inicializando as variáveis rua e nome para usá-las!

P
Ironlynx: 1º - as variáveis não estariam inicializadas no momento em que as declarei?? 2º - o que na verdade quero é passar isso:
private void jButton1_mouseClicked(MouseEvent e) 
     {   
         String nome = jTextField1.getText();
         String rua = jTextField2.getText();
para a main:
public static void main( String args[] ) 
     {
         Jijuv gridBagFrame = new Jijuv();  
         gridBagFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
         gridBagFrame.setSize( 510, 370 ); // configura o tamanho do frame
         gridBagFrame.setVisible( true ); // mostra o frame
       
         Session sessao;
         sessao = HibernateUtility.getSession(); //Abrindo uma sessão
         Transaction transaction = sessao.beginTransaction(); //Iniciando uma transação          
                      
         Endereco endereco = new Endereco();
         String rua, numero, bairro, complemento, cidade, estado, cep;
         int n;
         endereco.setRua(rua);
         endereco.setNumero(n);
Criado 6 de novembro de 2006
Ultima resposta 7 de nov. de 2006
Respostas 10
Participantes 5