Olá!
Gostaria de saber o que está errado neste código.
Nesta tela eu tenho 3 ComboBox e 2 TextField, sendo que um deles é Float.
Os dados do ComboBox aparecem normalmente na tela, porém quando clico em salvar, dá erro.
Segue abaixo o código, e abaixo do código, os erros.
Desde já agradeço.
código:
public class TelaCadastrarPrecos extends JFrame {
super("SCPMEL - Cadastrar Precos");
private JLabel jlCadPreco, jlFornec, jlCodMat, jlTipo, jlMarca, jlPrecoUnit;
private JButton jbSalvar, jbVoltar, jbLimpar;
private JTextField jtCadPreco, jtMarca, jtPrecoUnit;
private JComboBox jcTipo, jcFornec, jcMaterial;
String cnpj;
String material;
Connection conn = null;
public TelaCadastrarPrecos() {
jlCadPreco = new JLabel();
jlFornec = new JLabel();
jlCodMat = new JLabel();
jlTipo = new JLabel();
jlMarca = new JLabel();
jlPrecoUnit = new JLabel();
jcFornec = new JComboBox();
jcMaterial = new JComboBox();
jcTipo = new JComboBox();
jtMarca = new JTextField();
jtPrecoUnit = new JTextField();
jbSalvar = new JButton(salvar);
jbVoltar = new JButton(voltar);
setBackground(new java.awt.Color(204, 204, 255));
setLayout(null);
jlCadPreco.setFont(new java.awt.Font("Comic Sans MS", 3, 30));
jlCadPreco.setForeground(new java.awt.Color(0, 102, 204));
jlCadPreco.setText("Cadastrar Preços");
add(jlCadPreco);
jlCadPreco.setBounds(250, 40, 500, 50);
jlFornec.setFont(new java.awt.Font("Comic Sans MS", 2, 16));
jlFornec.setForeground(new java.awt.Color(0, 102, 204));
jlFornec.setText("Fornecedor (CNPJ):");
add(jlFornec);
jlFornec.setBounds(40, 180, 280, 30);
jcFornec.setFont(new java.awt.Font("Trebuchet", 1, 14));
add(jcFornec);
jcFornec.setBounds(200, 180, 300, 30);
jcFornec.setMaximumRowCount(4);
preencherComboFornec();
jlCodMat.setFont(new java.awt.Font("Comic Sans MS", 2, 16));
jlCodMat.setForeground(new java.awt.Color(0, 102, 204));
jlCodMat.setText("Material:");
add(jlCodMat);
jlCodMat.setBounds(40, 230, 150, 30);
jcMaterial.setFont(new java.awt.Font("Trebuchet", 1, 14));
add(jcMaterial);
jcMaterial.setBounds(200, 230, 300, 30);
jcMaterial.setMaximumRowCount(10);
preencherComboMaterial();
jlTipo.setFont(new java.awt.Font("Comic Sans MS", 2, 16));
jlTipo.setForeground(new java.awt.Color(0, 102, 204));
jlTipo.setText("Tipo:");
add(jlTipo);
jlTipo.setBounds(40, 280, 150, 30);
jcTipo.setFont(new java.awt.Font("Trebuchet", 1, 14));
add(jcTipo);
jcTipo.setBounds(200, 280, 200, 30);
jcTipo.setMaximumRowCount(4);
preencherComboTipo();
jlMarca.setFont(new java.awt.Font("Comic Sans MS", 2, 16));
jlMarca.setForeground(new java.awt.Color(0, 102, 204));
jlMarca.setText("Marca:");
add(jlMarca);
jlMarca.setBounds(40, 330, 250, 30);
jtMarca.setFont(new java.awt.Font("Trebuchet", 1, 14));
add(jtMarca);
jtMarca.setBounds(200, 330, 200, 30);
jlPrecoUnit.setFont(new java.awt.Font("Comic Sans MS", 2, 16));
jlPrecoUnit.setForeground(new java.awt.Color(0, 102, 204));
jlPrecoUnit.setText("Preço Unitário:");
add(jlPrecoUnit);
jlPrecoUnit.setBounds(40, 380, 250, 30);
jtPrecoUnit.setFont(new java.awt.Font("Trebuchet", 1, 14));
add(jtPrecoUnit);
jtPrecoUnit.setBounds(200, 380, 100, 30);
jbSalvar.setFont(new java.awt.Font("Comic Sans MS", 0, 14));
add(jbSalvar);
jbSalvar.setToolTipText("Salvar");
jbSalvar.setBounds(30, 30, 40, 35);
jbSalvar.setBackground(Color.LIGHT_GRAY);
jbSalvar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbSalvarActionPerformed(evt);
}
});
jbVoltar.setFont(new java.awt.Font("Comic Sans MS", 0, 14));
add(jbVoltar);
jbVoltar.setToolTipText("Retornar para a tela Fornecedor");
jbVoltar.setBounds(80, 30, 40, 35);
jbVoltar.setBackground(Color.LIGHT_GRAY);
jbVoltar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbVoltarActionPerformed(evt);
}
});
UIManager.put("ToolTip.background", Color.pink);
addWindowListener( new WindowAdapter() {
public void windowClosing( WindowEvent e ) {
System.exit( 0 );
}
});
}
public void jbSalvarActionPerformed( ActionEvent e) {
if( jtMarca.getText().equals("") ||
jtPrecoUnit.getText().equals("") ) {
JOptionPane.showMessageDialog(null, "Preencha todos os campos do Formulário!", "Falha", JOptionPane.ERROR_MESSAGE);
}
else {
try {
String comboFornecedor = (String)jcFornec.getSelectedItem();
String comboMaterial = (String)jcMaterial.getSelectedItem();
String comboTipo = (String)jcTipo.getSelectedItem();
String sqlIdFornecedor = "SELECT idFornecedor FROM fornecedor WHERE empresa = '" + comboFornecedor + "'";
String sqlIdItem = "SELECT idItem FROM materiais_equip WHERE descricao = '" + comboMaterial + "'";
ConexaoDB conexaoDB = new ConexaoDB();
conn = conexaoDB.getConnection();
Statement st;
st = conn.createStatement();
ResultSet rs1;
ResultSet rs2;
rs1 = st.executeQuery(sqlIdFornecedor);
rs2 = st.executeQuery(sqlIdItem);
Item itemForn = new Item();
Item itemMat = new Item();
while ( rs1.next() ) {
itemForn.setChave(rs1.getInt(1));
}
while (rs2.next()) {
itemMat.setChave2(rs2.getInt(1));
}
String sql = "INSERT INTO " +
"forn_mat (" +
" idFornecedor, idItem, marca, tipo, precoUnit ) " +
" VALUES ( " + itemForn.getChave() + "," +
itemMat.getChave2() + ", '" +
jtMarca.getText() + "', '" +
comboTipo + "', " +
Double.parseDouble(jtPrecoUnit.getText()) + ")";
if (st.executeUpdate(sql) != 0) {
JOptionPane.showMessageDialog(null, "Preço cadastrado com sucesso!", "Sucesso", JOptionPane.INFORMATION_MESSAGE);
st.execute("commit");
}
else{
JOptionPane.showMessageDialog(null, "Preço não cadastrado!", "Falha", JOptionPane.ERROR_MESSAGE);
}
rs1.close();
rs2.close();
st.close();
conn.close();
} catch ( SQLException se ) {
se.printStackTrace();
}
}
}
public void jbVoltarActionPerformed( ActionEvent e) {
TelaFornecedor telaFornecedor = new TelaFornecedor();
telaFornecedor.setVisible(true);
setVisible(false);
}
public void preencherComboTipo() {
try {
ConexaoDB conexaoDB = new ConexaoDB();
conn = conexaoDB.getConnection();
Statement st;
ResultSet rs;
st = conn.createStatement();
String sql = "SELECT idtipo_material, tipo FROM tipo_material ORDER BY tipo";
rs = st.executeQuery(sql);
while ( rs.next() ) {
Item item = new Item();
item.setNome(rs.getString(2));
item.setChave(rs.getInt(1));
jcTipo.addItem(item);
}
st.close();
conn.close();
} catch ( SQLException se ) {
se.printStackTrace();
}
}
public void preencherComboFornec() {
try {
ConexaoDB conexaoDB = new ConexaoDB();
conn = conexaoDB.getConnection();
Statement st;
ResultSet rs;
st = conn.createStatement();
String sql = "SELECT idFornecedor, empresa FROM fornecedor ORDER BY empresa";
rs = st.executeQuery(sql);
while ( rs.next() ) {
Item item = new Item();
item.setNome(rs.getString(2));
item.setChave(rs.getInt(1));
jcFornec.addItem(item);
}
st.close();
conn.close();
} catch ( SQLException se ) {
se.printStackTrace();
}
}
public void preencherComboMaterial(){
try {
ConexaoDB conexaoDB = new ConexaoDB();
conn = conexaoDB.getConnection();
Statement st;
ResultSet rs;
st = conn.createStatement();
String sql = "SELECT idItem, descricao FROM materiais_equip ORDER BY descricao";
rs = st.executeQuery(sql);
while ( rs.next() ) {
Item item = new Item();
item.setNome(rs.getString(2));
item.setChave(rs.getInt(1));
jcMaterial.addItem(item);
}
st.close();
conn.close();
} catch ( SQLException se ) {
se.printStackTrace();
}
}
}
Erros:
Exception in thread “AWT-EventQueue-0” java.lang.ClassCastException: br.estacio.scpmel.util.Item cannot be cast to java.lang.String
at br.estacio.scpmel.TelaCadastrarPrecos.jbSalvarActionPerformed(TelaCadastrarPrecos.java:172)
at br.estacio.scpmel.TelaCadastrarPrecos$1.actionPerformed(TelaCadastrarPrecos.java:136)
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.AWTEventMulticaster.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.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)