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
0