Java - AYUDA PORFAVOR ERROR EN CASTING JcomboBox

 
Vista:

AYUDA PORFAVOR ERROR EN CASTING JcomboBox

Publicado por rony (1 intervención) el 18/10/2017 16:12:00
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// ESTA ES MI CLASE SERIE
package butic;
 
public class Series {
   private int idItem;
   private String Serie;
 
 
    public int getIdItem() {
        return idItem;
    }
 
    public void setIdItem(int idItem) {
        this.idItem = idItem;
    }
 
    public String getSerie() {
        return Serie;
    }
 
    public void setSerie(String Serie) {
        this.Serie = Serie;
    }
//    
    @Override
    public String toString() {
        return Serie;
    }
}



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// ESTA ES MI CLASE CON LOS DATOS DE MI BD SERIEDAO
package butic;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
 
public class SeriesDao {
  public static   Connection conn = null;
  public static  PreparedStatement ps=null;
  public static  ResultSet rs=null;
 
     public static ArrayList<Series>listarSeries() {
        // Declaramos ArrayList 
    ArrayList<Series> listarSerie=new ArrayList();
 
          String sql="SELECT i.idItem,i.Serie FROM items as i,productos as p where i.codProducto=p.codproducto";
        try
        {
             //abrimos la conexion:
 conn= Acceso.Enlace(conn);
 // realizamos la consulta a la BD atravez de un resultset
  ps=conn.prepareStatement(sql);
   rs=ps.executeQuery();
            while(rs.next()) {
             Series serie=new Series();
                // 'id' y 'descripcion' son los nombres de las
                // columnas en la tabla 'Series'
                serie.setIdItem(rs.getInt("idItem"));
                serie.setSerie(rs.getString("Serie"));
 
                listarSerie.add(serie);
            }
        } catch(SQLException e) {
 
        }
 
        return listarSerie;
    }
}



// ESTE ES MI FORMULARIO .. QUI ES DONDE TENGO EL PROBLEMA AL REALIZAR EL CASTING AL JcomboBOx ME SALTA UN ERROR: QUe no es posible realizar el casting dice
En el combo muestro las series y lo que necesito es obtener el id
Nota: el combobox es creado e insertado en en una columna de la tabla

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package formu;
import butic.Acceso;
import butic.Series;
import butic.SeriesDao;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import java.util.ArrayList;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableCellEditor;
import javax.swing.table.TableColumn;
 
public final class PruebajCombox extends javax.swing.JFrame {
   // conexiones :
static Connection conn = null;
static Statement st = null;
static ResultSet rs = null;
private final JComboBox jcb= new JComboBox();
 ArrayList <Series> listar = new ArrayList();
// modelo de tabla
DefaultTableModel dtm=new DefaultTableModel();
    public PruebajCombox() {
        initComponents();
 String titulo[]={"Codigo","Descripcion","Serie"};
dtm.setColumnIdentifiers(titulo);
jtproductos.setModel(dtm);
// llenar tabla
consultarRegistros();
// es el modelo de datos que acepta el combo
listar= SeriesDao.listarSeries();
DefaultComboBoxModel model = new DefaultComboBoxModel();
 
for(Series obj:listar){
        model.addElement(obj.getSerie());
}
jcb.setModel(model);
 
TableColumn tc=jtproductos.getColumnModel().getColumn(2);
TableCellEditor tce = new DefaultCellEditor(jcb);
tc.setCellEditor(tce);
 
// Debe de recuperarse asi:
// evento de escuchador del jcomboBox
jcb.addActionListener(new ActionListener() {
     @Override
     public void actionPerformed(ActionEvent e) {
//  JComboBox combo = (JComboBox) e.getSource();
if (jcb.getSelectedIndex()> -1){
 
   Series seleccionada = (Series) jcb .getSelectedItem();
    seleccionada.getIdItem();//Este es el id que necesito
}
 
    }
});
}
 
**************** esto es solo para llenar la tabla con los productos *****************
public void consultarRegistros()   {
     int f,i;
try
{
conn=Acceso.Enlace(conn);
rs=Acceso.ProductosItems(rs);
String datos[]=new String[2];
f=dtm.getRowCount();
if (f>0)
for (i=0;i<f;i++)
dtm.removeRow(0);
while(rs.next())
{
datos[0]=(String)rs.getString(1);
datos[1]=(String)rs.getString(2);
 
 
 
dtm.addRow(datos);
}
}
catch(SQLException e)
{
JOptionPane.showMessageDialog(null, "Error BD"+e.getMessage());
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder