Ing. Honoria Reyes Macedo
1.- Crear una
clase CalificaVo.java que tiene los datos de la entidad califica y generar sus get y set:
public class CalificaVo {
private int claveCalifica;
private int clavemate;
private int cvePersona;
private double calificacion;
private String Descripcion;
private String fecha_Calif;
private int status;
private String ciclo;
public CalificaVo() {
this.claveCalifica = 0;
this.clavemate = 0;
this.cvePersona = 0;
this.calificacion = 0.0;
this.Descripcion = "";
this.fecha_Calif = "";
this.status = 0;
this.ciclo="";
}
public int getClaveCalifica() { return claveCalifica; }
public void setClaveCalifica(int claveCalifica){this.claveCalifica = claveCalifica;}
public int getClavemate() { return clavemate; }
public void setClavemate(int clavemate) { this.clavemate = clavemate; }
public int getCvePersona() { return cvePersona; }
public void setCvePersona(int cvePersona) { this.cvePersona = cvePersona; }
public double getCalificacion() { return calificacion; }
public void setCalificacion(double calificacion){ this.calificacion = calificacion;}
public String getDescripcion() { return Descripcion; }
public void setDescripcion(String Descripcion){this.Descripcion = Descripcion; }
public String getFecha_Calif() { return fecha_Calif; }
public void setFecha_Calif(String fecha_Calif){ this.fecha_Calif = fecha_Calif; }
public int getStatus() { return status; }
public void setStatus(int status) { this.status = status; }
public String getCiclo() { return ciclo; }
public void setCiclo(String ciclo){this.ciclo = ciclo; }
}
public class CalificaVo {
private int claveCalifica;
private int clavemate;
private int cvePersona;
private double calificacion;
private String Descripcion;
private String fecha_Calif;
private int status;
private String ciclo;
public CalificaVo() {
this.claveCalifica = 0;
this.clavemate = 0;
this.cvePersona = 0;
this.calificacion = 0.0;
this.Descripcion = "";
this.fecha_Calif = "";
this.status = 0;
this.ciclo="";
}
public int getClaveCalifica() { return claveCalifica; }
public void setClaveCalifica(int claveCalifica){this.claveCalifica = claveCalifica;}
public int getClavemate() { return clavemate; }
public void setClavemate(int clavemate) { this.clavemate = clavemate; }
public int getCvePersona() { return cvePersona; }
public void setCvePersona(int cvePersona) { this.cvePersona = cvePersona; }
public double getCalificacion() { return calificacion; }
public void setCalificacion(double calificacion){ this.calificacion = calificacion;}
public String getDescripcion() { return Descripcion; }
public void setDescripcion(String Descripcion){this.Descripcion = Descripcion; }
public String getFecha_Calif() { return fecha_Calif; }
public void setFecha_Calif(String fecha_Calif){ this.fecha_Calif = fecha_Calif; }
public int getStatus() { return status; }
public void setStatus(int status) { this.status = status; }
public String getCiclo() { return ciclo; }
public void setCiclo(String ciclo){this.ciclo = ciclo; }
}
2.- Crear una clase para el formulario CalificaFrm.java :
import java.text.SimpleDateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Vector;
import javax.swing.DefaultComboBoxModel;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import images.ImagenPanel;
import javax.swing.ImageIcon;
public class CalificaFrm extends JFrame {
MateriaDAO ObjMat= new MateriaDAO();
DefaultComboBoxModel mdlCombo;
Vector<MateriaVo> ListM= new Vector<MateriaVo>();
Date actualDate;
public CalificaFrm() {
initComponents();
//Llena fecha actual
actualDate= new Date();
SimpleDateFormat formato = new SimpleDateFormat("dd-MM-yyyy");
jTextFFechaAlta.setText(formato.format(actualDate));
//Llenar el comboBox
ListM=ObjMat.ConsultaIndiv(); //se llena con un vector que regresa ConsultaIndiv()
mdlCombo = new DefaultComboBoxModel(ListM);
this.jComboBMateria.setModel(mdlCombo);
}
@SuppressWarnings("unchecked")
private void initComponents() {
//Establecer el fondo
ImageIcon miImg= new ImageIcon(getClass().getResource("images/fondo.png"));
ImagenPanel jp = new ImagenPanel(miImg.getImage());
//jp = new javax.swing.JPanel();
jComboBMateria = new javax.swing.JComboBox<>();
jlblStatus = new javax.swing.JLabel();
jTextFFechaAlta = new javax.swing.JTextField();
jlblCalif = new javax.swing.JLabel();
jTextFCallif001 = new javax.swing.JTextField();
jTextFCvePers = new javax.swing.JTextField();
jlblCvePersona = new javax.swing.JLabel();
jlblDesc = new javax.swing.JLabel();
jlblFechaAlta = new javax.swing.JLabel();
checkbStatus = new javax.swing.JCheckBox();
jlblMateria = new javax.swing.JLabel();
jBtnGuardar = new javax.swing.JButton();
jComboBDesc = new javax.swing.JComboBox<>();
jlblCiclo = new javax.swing.JLabel();
jTextFCiclo = new javax.swing.JTextField();
jBtnSalir = new javax.swing.JButton();
jSeparator1 = new javax.swing.JSeparator();
JTBar= new JToolBar();
getContentPane().setLayout(null);
// jp.setLayout(null);
jlblCvePersona.setText("Cve Persona:");
jp.add(jlblCvePersona);
jlblCvePersona.setBounds(10, 200, 70, 20);
jTextFCvePers.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextFCvePersActionPerformed(evt);
}
});
jp.add(jTextFCvePers);
jTextFCvePers.setBounds(100, 200, 140, 30);
jlblMateria.setText("Materia:");
jp.add(jlblMateria);
jlblMateria.setBounds(10, 250, 50, 20);
jp.add(jComboBMateria);
jComboBMateria.setBounds(100, 250, 280, 30);
jlblCalif.setText("Calificacion:");
jp.add(jlblCalif);
jlblCalif.setBounds(10, 310, 70, 20);
jp.add(jTextFCallif001);
jTextFCallif001.setBounds(100, 310, 140, 30);
jComboBDesc.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "1ER PARCIAL", "2DO PARCIAL", "3ER PARCIAL" }));
jp.add(jComboBDesc);
jComboBDesc.setBounds(260, 310, 150, 30);
jlblDesc.setText("(Descripcion)");
jp.add(jlblDesc);
jlblDesc.setBounds(300, 340, 70, 20);
jlblCiclo.setText("Ciclo:");
jp.add(jlblCiclo);
jlblCiclo.setBounds(10, 390, 50, 20);
jp.add(jTextFCiclo);
jTextFCiclo.setBounds(100, 390, 160, 30);
jp.add(jTextFFechaAlta);
jTextFFechaAlta.setBounds(100, 440, 160, 30);
jlblFechaAlta.setText(" Fecha Alta:");
jp.add(jlblFechaAlta);
jlblFechaAlta.setBounds(10, 440, 58, 20);
jlblStatus.setText("Estatus:");
jp.add(jlblStatus);
jlblStatus.setBounds(10, 490, 40, 20);
checkbStatus.setText("Activo");
jp.add(checkbStatus);
checkbStatus.setBounds(100, 490, 81, 23);
jp.add(jSeparator1);
jSeparator1.setBounds(0, 550, 620, 10);
jBtnGuardar.setText("Guardar");
jBtnGuardar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jBtnGuardarActionPerformed(evt);
}
});
jBtnGuardar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
jBtnSalir.setText("Salir");
jBtnSalir.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
jBtnSalir.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
JTBar.setBounds(10,130,200,35);
JTBar.setBackground(new Color(191,191,191));
JTBar.setRollover(true);
sepat=new JToolBar.Separator();
JTBar.add(jBtnGuardar);
JTBar.add(sepat);
JTBar.add(jBtnSalir);
jp.add(JTBar);
getContentPane().add(jp);
setSize(1200,700);
setLocationRelativeTo(null);
setVisible(true);
}// </editor-fold>
private void jBtnGuardarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
// Variables declaration - do not modify
private javax.swing.JCheckBox checkbStatus;
private javax.swing.JButton jBtnGuardar;
private javax.swing.JButton jBtnSalir;
private javax.swing.JComboBox<String> jComboBMateria;
private javax.swing.JComboBox<String> jComboBDesc;
// private javax.swing.JPanel jp;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JTextField jTextFCallif001;
private javax.swing.JTextField jTextFCiclo;
private javax.swing.JTextField jTextFCvePers;
private javax.swing.JTextField jTextFFechaAlta;
private javax.swing.JLabel jlblCalif;
private javax.swing.JLabel jlblCiclo;
private javax.swing.JLabel jlblCvePersona;
private javax.swing.JLabel jlblDesc;
private javax.swing.JLabel jlblFechaAlta;
private javax.swing.JLabel jlblMateria;
private javax.swing.JLabel jlblStatus;
private JToolBar JTBar;
private javax.swing.JToolBar.Separator sepat;
}
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Vector;
import javax.swing.DefaultComboBoxModel;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import images.ImagenPanel;
import javax.swing.ImageIcon;
public class CalificaFrm extends JFrame {
MateriaDAO ObjMat= new MateriaDAO();
DefaultComboBoxModel mdlCombo;
Vector<MateriaVo> ListM= new Vector<MateriaVo>();
Date actualDate;
public CalificaFrm() {
initComponents();
//Llena fecha actual
actualDate= new Date();
SimpleDateFormat formato = new SimpleDateFormat("dd-MM-yyyy");
jTextFFechaAlta.setText(formato.format(actualDate));
//Llenar el comboBox
ListM=ObjMat.ConsultaIndiv(); //se llena con un vector que regresa ConsultaIndiv()
mdlCombo = new DefaultComboBoxModel(ListM);
this.jComboBMateria.setModel(mdlCombo);
}
@SuppressWarnings("unchecked")
private void initComponents() {
//Establecer el fondo
ImageIcon miImg= new ImageIcon(getClass().getResource("images/fondo.png"));
ImagenPanel jp = new ImagenPanel(miImg.getImage());
//jp = new javax.swing.JPanel();
jComboBMateria = new javax.swing.JComboBox<>();
jlblStatus = new javax.swing.JLabel();
jTextFFechaAlta = new javax.swing.JTextField();
jlblCalif = new javax.swing.JLabel();
jTextFCallif001 = new javax.swing.JTextField();
jTextFCvePers = new javax.swing.JTextField();
jlblCvePersona = new javax.swing.JLabel();
jlblDesc = new javax.swing.JLabel();
jlblFechaAlta = new javax.swing.JLabel();
checkbStatus = new javax.swing.JCheckBox();
jlblMateria = new javax.swing.JLabel();
jBtnGuardar = new javax.swing.JButton();
jComboBDesc = new javax.swing.JComboBox<>();
jlblCiclo = new javax.swing.JLabel();
jTextFCiclo = new javax.swing.JTextField();
jBtnSalir = new javax.swing.JButton();
jSeparator1 = new javax.swing.JSeparator();
JTBar= new JToolBar();
getContentPane().setLayout(null);
// jp.setLayout(null);
jlblCvePersona.setText("Cve Persona:");
jp.add(jlblCvePersona);
jlblCvePersona.setBounds(10, 200, 70, 20);
jTextFCvePers.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextFCvePersActionPerformed(evt);
}
});
jp.add(jTextFCvePers);
jTextFCvePers.setBounds(100, 200, 140, 30);
jlblMateria.setText("Materia:");
jp.add(jlblMateria);
jlblMateria.setBounds(10, 250, 50, 20);
jp.add(jComboBMateria);
jComboBMateria.setBounds(100, 250, 280, 30);
jlblCalif.setText("Calificacion:");
jp.add(jlblCalif);
jlblCalif.setBounds(10, 310, 70, 20);
jp.add(jTextFCallif001);
jTextFCallif001.setBounds(100, 310, 140, 30);
jComboBDesc.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "1ER PARCIAL", "2DO PARCIAL", "3ER PARCIAL" }));
jp.add(jComboBDesc);
jComboBDesc.setBounds(260, 310, 150, 30);
jlblDesc.setText("(Descripcion)");
jp.add(jlblDesc);
jlblDesc.setBounds(300, 340, 70, 20);
jlblCiclo.setText("Ciclo:");
jp.add(jlblCiclo);
jlblCiclo.setBounds(10, 390, 50, 20);
jp.add(jTextFCiclo);
jTextFCiclo.setBounds(100, 390, 160, 30);
jp.add(jTextFFechaAlta);
jTextFFechaAlta.setBounds(100, 440, 160, 30);
jlblFechaAlta.setText(" Fecha Alta:");
jp.add(jlblFechaAlta);
jlblFechaAlta.setBounds(10, 440, 58, 20);
jlblStatus.setText("Estatus:");
jp.add(jlblStatus);
jlblStatus.setBounds(10, 490, 40, 20);
checkbStatus.setText("Activo");
jp.add(checkbStatus);
checkbStatus.setBounds(100, 490, 81, 23);
jp.add(jSeparator1);
jSeparator1.setBounds(0, 550, 620, 10);
jBtnGuardar.setText("Guardar");
jBtnGuardar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jBtnGuardarActionPerformed(evt);
}
});
jBtnGuardar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
jBtnSalir.setText("Salir");
jBtnSalir.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
jBtnSalir.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
JTBar.setBounds(10,130,200,35);
JTBar.setBackground(new Color(191,191,191));
JTBar.setRollover(true);
sepat=new JToolBar.Separator();
JTBar.add(jBtnGuardar);
JTBar.add(sepat);
JTBar.add(jBtnSalir);
jp.add(JTBar);
getContentPane().add(jp);
setSize(1200,700);
setLocationRelativeTo(null);
setVisible(true);
}// </editor-fold>
private void jBtnGuardarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
// Variables declaration - do not modify
private javax.swing.JCheckBox checkbStatus;
private javax.swing.JButton jBtnGuardar;
private javax.swing.JButton jBtnSalir;
private javax.swing.JComboBox<String> jComboBMateria;
private javax.swing.JComboBox<String> jComboBDesc;
// private javax.swing.JPanel jp;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JTextField jTextFCallif001;
private javax.swing.JTextField jTextFCiclo;
private javax.swing.JTextField jTextFCvePers;
private javax.swing.JTextField jTextFFechaAlta;
private javax.swing.JLabel jlblCalif;
private javax.swing.JLabel jlblCiclo;
private javax.swing.JLabel jlblCvePersona;
private javax.swing.JLabel jlblDesc;
private javax.swing.JLabel jlblFechaAlta;
private javax.swing.JLabel jlblMateria;
private javax.swing.JLabel jlblStatus;
private JToolBar JTBar;
private javax.swing.JToolBar.Separator sepat;
}
2.1 Verificar que en la clase MateriaDAO.java exista el metodo ConsultaIndiv() para llenar el combo:
public Vector<MateriaVo> ConsultaIndiv(){
MateriaVo mate;
Vector<MateriaVo> ListMateria= new Vector<MateriaVo>();
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.setFechaalta(toString(miTabla.getString(3)));
mate.setSeriadanum(miTabla.getInt(4));
mate.setConsseriadanum(miTabla.getInt(5));
mate.setStatus(miTabla.getBoolean(6));
ListMateria.add(mate);
}
}catch(SQLException ex){
JOptionPane.showMessageDialog(null,"No se encontro el Driver jdbc instalado" + ex.getMessage(),"ERROR DE CONEXION",JOptionPane.ERROR_MESSAGE);
}
return ListMateria;
}
3.- Crear una
clase CalificaDAO.java para guardar en la Base de Datos
import java.sql.*;import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import javax.swing.JOptionPane;
public class CalificaDAO {
Conexion ObjConecta = new Conexion();
Connection miConexion=null; // Canal de conexion
ResultSet miTabla=null; //Guarda informacion de las columnas(campos)
Statement miInstruccion=null; //Ejecuta sentencias SQL sin parametros
PreparedStatement miInstruccionPrep=null; //Ejecuta sentencias SQL con parametros de entrada
int miResultado;
public CalificaDAO() {
try{
miConexion=ObjConecta.getConexion();
}catch(Exception ex){
JOptionPane.showMessageDialog(null,"No se conecto a la Base de Datos: " + ex.getMessage(),"ERROR DE CONEXION",JOptionPane.ERROR_MESSAGE);
}
}
public void InsertaCalif(CalificaVo ObjCal){
try{
String miInsercion="Insert into califica(clavemate,claveCalifica,descripcion,calificacion,fecha_Calif,status,cvePersona,ciclo) values(?,?,?,?,?,?,?,?)";
miInstruccionPrep= miConexion.prepareStatement(miInsercion);
miInstruccionPrep.setInt(1,ObjCal.getClavemat());
miInstruccionPrep.setInt(2,ObjCal.getClaveCalifica());
miInstruccionPrep.setString(3,ObjCal.getDescripcion());
miInstruccionPrep.setDouble(4,ObjCal.getCalificacion());
miInstruccionPrep.setString(5,ObjCal.getFecha_Calif());
miInstruccionPrep.setInt(6,ObjCal.getStatus());
miInstruccionPrep.setInt(7,ObjCal.getCvePersona());
miInstruccionPrep.setString(8,ObjCal.getCiclo());
miInstruccionPrep.executeUpdate();
}
catch(SQLException ex){
JOptionPane.showMessageDialog(null,"No se encontro el Driver jdbc instalado" + ex.getMessage(),"ERROR DE CONEXION",JOptionPane.ERROR_MESSAGE);
}
}
}
4.- Agregar la linea siguiente en MateriaVo.java (es necesaria para llenar el combo con el nombre de la materia)
public String toString(){ return nombremateria; }
new CalificaFrm().setVisible(true);
6.- Compilar y ejecutar
7.- Agregar el metodo guardar() a la clase CalificaFrm.java y llamarlo desde el boton Guardar
8.- Compilar y
ejecutar
7.- Agregar el metodo guardar() a la clase CalificaFrm.java y llamarlo desde el boton Guardar
public
void guardar(){
CalificaVo
ObjCa=new CalificaVo();
ObjCa.setCvePersona(Integer.parseInt(jTextFCvePers.getText()));
MateriaVo
ma=(MateriaVo)this.jComboBMateria.getSelectedItem();
ObjCa.setClavemate(ma.getClavemate());
ObjCa.setCalificacion(Double.parseDouble(jTextFCallif001.getText()));
ObjCa.setDescripcion(jComboBDesc.getSelectedItem().toString());
ObjCa.setCiclo(jTextFCiclo.getText());
try{
SimpleDateFormat inputFormat = new SimpleDateFormat
("dd-MM-yyyy");
SimpleDateFormat outputFormat = new SimpleDateFormat
("yyyy-MM-dd");
ObjCa.setFecha_Calif(
outputFormat.format(inputFormat.parse(jTextFFechaAlta.getText())));
}catch
(Exception e){
System.out.println (e.getMessage());
e.printStackTrace();
}
ObjCa.setStatus(0);
if
(checkbStatus.isSelected())
ObjCa.setStatus(1);
CalificaDAO
ObjDAO=new CalificaDAO();
ObjDAO.InsertaCalif(ObjCa);
}
o o
-------------------------------------------000---000----------------------------------------------
No hay comentarios.:
Publicar un comentario