Andei pesquisando…mas não encontrei nada que ajudasse…
Ate ai eu consegui… o problema é que variavel que recebe é do tipo Sala.
Criei uma classe sala , e na classe turma coloquei um atributo do tipo sala…
Na hora de cadastrar a turma…todos os registros de sala do banco vai para o jcombobox…
e na hora de pegar os valores ele pede valor do tipo sala e o que sai do Jcombobox é string ou inteiro… HELP!
minha classe sala
[code]package br.com.model;
/**
*
-
@author Narinha
*/
public class Sala {
private int idSala;
private String descSala;
public int getIdSala() {
return idSala;
}
public void setIdSala(int idSala) {
this.idSala = idSala;
}
public String getDescSala() {
return descSala;
}
public void setDescSala(String descSala) {
this.descSala = descSala;
}
}
[/code]
Classe turma
[code]package br.com.model;
/**
*
-
@author Narinha
*/
public class Turma {
private int idTurma;
private String descTurma;
private Sala descSala;
public int getIdTurma() {
return idTurma;
}
public void setIdTurma(int idTurma) {
this.idTurma = idTurma;
}
public String getDescTurma() {
return descTurma;
}
public void setDescTurma(String descTurma) {
this.descTurma = descTurma;
}
public Sala getDescSala() {
return descSala;
}
public void setDescSala(Sala descSala) {
this.descSala = descSala;
}
}
[/code]
metodo cadastrar do JFrame CadTurma
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String desc = jTDescricao.getText();
Sala idsala = (Sala) jComboBox1.getSelectedItem();
//continuar daqui..
if (jTDescricao.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Campo em Branco, preencha!!!");
} else {
try {
Turma turma = new Turma();
turma.setDescTurma(desc);
turma.setDescSala(idsala);
turmaDAO.save(turma);
jTDescricao.setText("");
JOptionPane.showMessageDialog(null, " Cadastro realizado com sucesso");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "Falha ao cadastrar");
}
}
}
e o metodo salvar da classe TurmaDAO
[code] public void save(Turma tm) {
try {
stm = conecta.conecta().createStatement();
String insert = null;
String descricao = tm.getDescTurma();
Sala sala = tm.getDescSala();
insert = "insert into turma (descturma,descsala) values ('" + descricao + "','"+ sala+"')";
stm.executeQuery(insert);
} catch (SQLException se) {
se.printStackTrace();
}
}[/code]
Ah o problema ta dando no metodo cadastar no JFrame CadTurma na linha 4
Ocorre esse erro:
run:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.lang.String cannot be cast to br.com.model.Sala
at br.com.view.CadTurma.jButton1ActionPerformed(CadTurma.java:138)
at br.com.view.CadTurma.access$000(CadTurma.java:16)
at br.com.view.CadTurma$1.actionPerformed(CadTurma.java:63)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2713)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:680)
at java.awt.EventQueue$4.run(EventQueue.java:678)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
CONSTRUÍDO COM SUCESSO (tempo total: 26 segundos)
na minha turmaDAO alem da save tem o metodo para pegar todos os registros da tabela sala que está no banco
[code]
public List carregar(){
try {
stm = conecta.conecta().createStatement();
String pesq;
pesq = “select (descsala) from sala”;
rs = stm.executeQuery(pesq);
while (rs.next()) {
Sala sala = new Sala();
sala.setDescSala(rs.getString(“descsala”));
salas.add(sala);
}
} catch (Exception e) {
e.printStackTrace();
}
return salas;
} [/code]
e qdo inicia o frame de CadTurma
tem o metodo
public void atualizaCombo() {
TurmaDAO dAO = new TurmaDAO();
for (Sala sala : new TurmaDAO().carregar()) {
jComboBox1.addItem(sala.getDescSala());
}
}
resolvido
foi feita a seguinte alteração
nesse metodo
public void atualizaCombo() {
TurmaDAO dAO = new TurmaDAO();
for (Sala sala : new TurmaDAO().carregar()) {
jComboBox1.addItem(sala);
}
}
e acrescentado o esse metodo na classe Sala
@Override
public String toString() {
return this.getDescSala();
}
Agradeço
Lucas Simão por me ajudar…
Obrigada…