1.- En la clase MateriaVo.java
1.1.- Agregar los
constructores siguientes:
public MateriaVo(){
}
public MateriaVo(int
clavemate,String nombremateria,String fechaalta, int seriadanum,int
consseriadanum,boolean status) {
this.
clavemate= clavemate;
this. nombremateria= nombremateria;
//this. fechaalta= fechaalta;
this. seriadanum= seriadanum;
this. consseriadanum=
consseriadanum;
this.status = status;
}
1.2.- Agregar
si no existe un metodo toString():
public String toString(){
return nombreMateria;
}
public String toString(){
return nombreMateria;
}
2- En MateriaDAO.java agregar el metodo modeloLista(). "Retorna un tipo DefaultListModel"
public DefaultListModel modeloLista(){
MateriaVo
mate;
DefaultListModel model = new
DefaultListModel();
try{
String
miConsulta="Select
clavemate,nombreMateria,fechaAlta,seriadaNum,consSeriadaNum,status from materia
";
miInstruccionPrep=
miConexion.prepareStatement(miConsulta);
miTabla=
miInstruccionPrep.executeQuery();
while(miTabla.next()){
mate
= new MateriaVo();
mate.setClavemate(miTabla.getInt(1));
mate.setNombremateria(miTabla.getString(2));
mate.setSeriadanum(miTabla.getInt(4));
mate.setConsseriadanum(miTabla.getInt(5));
mate.setStatus(miTabla.getBoolean(6));
model.addElement(mate);
}
}catch(SQLException ex){
JOptionPane.showMessageDialog(null,"No
se encontro el Driver jdbc instalado" + ex.getMessage(),"ERROR DE
CONEXION",JOptionPane.ERROR_MESSAGE);
}
return model;
}
3.- Agregar controles en la clase formulario MateriaFrm.java:
3.1.- Declarar los
controles y el modelo a usar
DefaultListModel modelList = new DefaultListModel();
private
JList<String> jListMateria;
private JScrollPane
jScrollPane1;
private JLabel
jlSeleccion;
3.2.- Declarar la librería:
import javax.swing.DefaultListModel;
3.3.- Inicializar los
controles en el metodo initComponents():
jListMateria = new javax.swing.JList<>();
jScrollPane1 = new
javax.swing.JScrollPane();
jlSeleccion = new JLabel();
jlSeleccion.setBounds(500,180,150,20);
jp.add(jlSeleccion);
jScrollPane1.setViewportView(jListMateria);
jScrollPane1.setBounds(500,
210, 250, 250);
jp.add(jScrollPane1);
3.4.- Agregar el llenado de el ListBox en el constructor MateriaFrm()
MateriaDAO ObjMat= new MateriaDAO();
modelList=ObjMat.modeloLista();
this.jListMateria.setModel(modelList);
3.5.-Para obtener los valores
que guarda el jListBox( en su evento ValueChanged)
3.5.1 Agregar el metodo anonimo dentro
del metodo initComponents():
jListMateria.addListSelectionListener(new
javax.swing.event.ListSelectionListener() {
public void
valueChanged(javax.swing.event.ListSelectionEvent evt) {
jListMateriaValueChanged(evt);
}
});
3.5.2 Agregar el metodo jListMateriaValueChanged ():
private
void jListMateriaValueChanged(javax.swing.event.ListSelectionEvent evt)
{
int indice =
jListMateria.getSelectedIndex();
MateriaVo
ma2 = (MateriaVo)modelList.getElementAt(indice);
jlSeleccion.setText(
ma2.getClavemate()+ " "+
ma2.getNombremateria() +" "+
ma2.getSeriadanum()
+
" "+ ma2.getConsseriadanum());
}COMPILAR Y CORRER
NOTA:
Otra forma de llenar el ListBox con objetos
de datos fijos:
public void ListaLlena(){
MateriaVo ObjMateria;
ObjMateria= new
MateriaVo(100,"Matematicas","01-01-2016", 1,1,true);
modelList.addElement(ObjMateria);
ObjMateria= new
MateriaVo(200,"Redes","02-02-2016", 1,1,true);
modelList.addElement(ObjMateria);
ObjMateria= new
MateriaVo(300,"Informatica","03-03-2016", 1,1,true);
modelList.addElement(ObjMateria);
}
-----------------------------------------0--0-------------------------------
-------------------------------------000—000----------------------------
Documentar las heuristicas del List