Pessoal, estou fazendo um programa via Windows Builder no Eclipse. Criei a parte visual através do programa, e agora estou tentando capturar o valor que eu escrevi na caixa de texto para o meu método e inserir no banco de dados. A parte visual dessa parte é:
JLabel lblNomeDoCliente = new JLabel(“Nome do Cliente”);
lblNomeDoCliente.setBounds(10, 40, 110, 14);
contentPane.add(lblNomeDoCliente);
txtNomeCliente = new JTextField();
txtNomeCliente.setText("Ex: Fulano da Silva");
txtNomeCliente.setToolTipText("");
txtNomeCliente.setBounds(10, 65, 421, 20);
contentPane.add(txtNomeCliente);
txtNomeCliente.setColumns(10);
Qual campo eu tenho que colocar no meu método pra dar certo?
JButton btnNewButton = new JButton("Cadastrar");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
Conexao cadastroCliente = new Conexao();
cadastroCliente.inserirCliente(txtNomeCliente, txtEmailCliente, txtCodigoCliente);
}
});
O erro que ele está dando é que não é do mesmo tipo e que não pode fazer a inclusão dos dados. Obrigado desde já, pessoal.
Seu método cadastroCliente.inserirCliente recebe Strings como parâmetro? Se sim, faça dessa forma :
cadastroCliente.inserirCliente(txtNomeCliente.getText(), txtEmailCliente.getText(), txtCodigoCliente.getText());
Marco, o duro que eu fiz isso e nada acontece. Ele continua dando erro! Já até tentei fazer umas gambiarras de declarar variável em um arquivo, instanciar no outro, tentar converter, etc…
Segue o erro quando tento cadastrar:
Exception in thread “AWT-EventQueue-0” java.lang.Error: Unresolved compilation problem:
Unhandled exception type SQLException
at view.addClientes$2.actionPerformed(addClientes.java:118)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
E o aviso que dá na linha é:
Multiple markers at this line
- Line breakpoint:addClientes [line: 118] - actionPerformed(ActionEvent)
- Unhandled exception type SQLException
E aí o “quick fix” que ele sugere, é colocar dentro de um try e catch. Mas já fiz isso e nada, hehehe. Obrigado desde já!
Você precisa tratar esse exceção. Caso ela aconteça, seu programa vai parar. Coloca dentro do teu catch
Mas eu já tentei colocar dentro do catch e mesmo assim nada… Você diz colocar esse método ou o que?
Muda seu jButton pra isso:
JButton btnNewButton = new JButton("Cadastrar"); btnNewButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { Conexao cadastroCliente = new Conexao(); try { cadastroCliente.inserirCliente(txtNomeCliente, txtEmailCliente, txtCodigoCliente); catch(SQLException e) { System.err.println("Erro ao acessar banco de dados: " + e.getLocalizedMessage()); } } });
Exception in thread “main” java.lang.Error: Unresolved compilation problem:
Syntax error, insert “}” to complete ClassBody
at view.addClientes.main(addClientes.java:46)
Eu procurei onde estava faltando o “}” mas não tem, hehehe
Parceiro verifica se sua SQL de inserção está correta parece que o erro e no seu insert.
Posta o seu método “inserirCliente”