Entorno de trabajo y sus herramientas
Ing Honoria Reyes Macedo
INTRODUCCION:
En esta practica se creara una interfaz para capturar materias, una
interfaz para capturar personas y una interfaz para capturar calificaciones en
java
Se usara una base de datos en MYSql llamada “calificaciones”
Utilizar JCreator, NetBeans, Eclipse u otro IDE para crear las interfaces en
java.
Si no recuerdas como crear una intefaz en NetBeans visita el blog
siguiente:
http://abstracciondelpro.blogspot.mx/2016/04/practica-de-swingactividad-003.html
La primer interfaz permitira guardar datos en la entidad materia
por lo que necesitamos los siguientes archivos:
a.- Conexion.java Para conectar desde java a la base de datos
b.- MateriaVo.java que contiene las propiedades de la entidad Materia
c.- MateriaDAO.java que contiene los movimientos CRUD de Materia a la Base de Datos
d.- MateriaFrm.java que contiene los componentes graficos para capturar los datos
Usar los
nombres siguientes para los componentes respectivos para MateriaFrm.java:
jp para el JPanel contenedor
y dentro del
contenedor JPanel:
jlnombremateria Para JLabel
jlseriadanum Para JLabel
jlconsseriadanum Para JLabel
jlstatus Para JLabel
jtnombremateria Para JTextField
jtseriadanum Para JTextField
jtconsseriadanum Para JTextField
jchBstatus JCheckBox
jbguardar para JButton
Si se crea la interfaz desde NetBeans tomar en cuenta que la ventana y
su JPanel debera tener un SetLayout=Null:
en MateriaFrm.java
(Con mouse derecho
sobre la ventana y sobre JPanel)
ACTIVIDAD
Se parte de un proyecto en java nombrado CentraUsuario y que ya contiene una ventana de inicio siguiente(la clase Inicio.java):
import images.*;
import javax.swing.ImageIcon;
import javax.swing.*;
public class Inicio extends
javax.swing.JFrame {
private JPanel jp;
public Inicio() {
jp= new JPanel();
jp.setLayout(null);
initComponents();
//Establecer el fondo
getContentPane().add(jp);
setSize(1200,700);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Finaliza la App
setTitle("Mis calificaciones");
}
private void
initComponents() {
jMenuBar1 = new
javax.swing.JMenuBar();
jMenu3 = new javax.swing.JMenu();
mnuCatalogo = new
javax.swing.JMenu();
mnuIMateria = new
javax.swing.JMenuItem();
jSeparator1 = new
javax.swing.JPopupMenu.Separator();
mnuIPersona = new
javax.swing.JMenuItem();
mnuCalificacion = new
javax.swing.JMenu();
mnuIRegistraCalif = new
javax.swing.JMenuItem();
mnuSalir = new javax.swing.JMenu();
jMenuItem1 = new
javax.swing.JMenuItem();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(null);
jMenu3.setText("Inicio");
jMenuBar1.add(jMenu3);
mnuCatalogo.setText("Catalogos");
mnuIMateria.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_M,
java.awt.event.InputEvent.CTRL_MASK));
mnuIMateria.setText("Materias");
mnuIMateria.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
mnuIMateriaActionPerformed(evt);
}
});
mnuCatalogo.add(mnuIMateria);
mnuCatalogo.add(jSeparator1);
mnuIPersona.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_P,
java.awt.event.InputEvent.CTRL_MASK));
mnuIPersona.setText("Personas");
mnuIPersona.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
mnuIPersonaActionPerformed(evt);
}
});
mnuCatalogo.add(mnuIPersona);
jMenuBar1.add(mnuCatalogo);
mnuCalificacion.setText("Calificaciones");
mnuIRegistraCalif.setText("Registrar");
mnuIRegistraCalif.addActionListener(new java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
mnuIRegistraCActionPerformed(evt);
}
});
mnuCalificacion.add(mnuIRegistraCalif);
jMenuBar1.add(mnuCalificacion);
mnuSalir.setText("Salir");
mnuSalir.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
mnuSalirActionPerformed(evt);
}
});
jMenuItem1.setText("Salir");
jMenuItem1.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem1ActionPerformed(evt);
}
});
mnuSalir.add(jMenuItem1);
jMenuBar1.add(mnuSalir);
setJMenuBar(jMenuBar1);
setBounds(0, 0, 655, 518);
}
private void
mnuIMateriaActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_mnuIMateriaActionPerformed
//Descomentar new
MateriaFrm().setVisible(true);
}
private void
mnuIRegistraCActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_mnuIMateriaActionPerformed
//Descomentar new
CalificaFrm().setVisible(true);
}
private void
mnuIPersonaActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_mnuIPersonaActionPerformed
}
private void
mnuSalirActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_mnuSalirActionPerformed
}
private void
jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_jMenuItem1ActionPerformed
System.exit(0);
}
private
javax.swing.JMenu jMenu3;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JPopupMenu.Separator jSeparator1;
private javax.swing.JMenu mnuCalificacion;
private javax.swing.JMenu mnuCatalogo;
private javax.swing.JMenuItem mnuIMateria;
private javax.swing.JMenuItem mnuIPersona;
private javax.swing.JMenuItem mnuIRegistraCalif;
private javax.swing.JMenu mnuSalir;
}
1.-Crear la BASE DE DATOS en MySql:
1.1
Crear un script en materias2017.sql y capturar lo siguiente
(Usar un block de notas)
create database calificaciones;
use calificaciones;
create table materia(
clavemate integer NOT NULL
AUTO_INCREMENT UNIQUE,
nombremateria varchar(40),
seriadanum integer,
consseriadanum integer,
status boolean,
fechaalta datetime,
constraint clave_1 PRIMARY
KEY(clavemate)
);
create table califica(
clavecalifica integer NOT NULL
AUTO_INCREMENT UNIQUE,
clavemat integer,
cvepersona integer,
calificacion float,
descripcion varchar(40),
fechacalif datetime,
status integer,
ciclo varchar(10),
constraint clave_1 PRIMARY
KEY(clavecalifica)
);
create table persona(
cvepersona integer NOT NULL
AUTO_INCREMENT UNIQUE,
nombre varchar(40),
apepat varchar(40),
apemat varchar(40),
edad integer,
fechaalta datetime,
status smallint,
constraint clave_1 PRIMARY
KEY(cvepersona)
);
1.2
Entrar en modo consola y
correr el script anterior
mysql> \. materias2017.sql
2.- Copiar el
driver en un nuevo proyecto en java "CentraUsuario" :
2.1 Crear la carpeta lib
dentro del proyecto y pegar el archivo
mysql-connector-java-5.1.40-bin.jar
2.2 Agregar la referencia al driver desde el proyecto
- Si es en NetBeans:
- Si es en JCreator:
3.- Utilizar el proyecto CentraUsuario
Agregar la clase Conexion.java que contiene la conexión
a la base de datos:
package
centrausuario;
import
javax.swing.*;
import java.sql.*;
public class
Conexion {
private Connection con = null;
public Connection getConexion()
throws SQLException{
// **********Conexion a MySQL **************
String driver =
"com.mysql.jdbc.Driver";
String
url = "jdbc:mysql://localhost/calificaciones"; //calificaciones es la base de datos
String user = "root";
String
password="Mysql";
try{
Class.forName(driver);
con =
DriverManager.getConnection(url,user,password);
}catch(ClassNotFoundException
ex){
JOptionPane.showMessageDialog(null,"No se encontro el driver jdbc
instalado en el sistema!\n\n"+ex.getMessage(),"Error de
conexion",JOptionPane.ERROR_MESSAGE);
}
return
con;
}
}
Se parte de un proyecto en java nombrado CentraUsuario y que ya contiene una ventana de inicio siguiente(la clase Inicio.java):
import images.*;
import javax.swing.ImageIcon;
import javax.swing.*;
import javax.swing.ImageIcon;
import javax.swing.*;
public class Inicio extends
javax.swing.JFrame {
private JPanel jp;
public Inicio() {
jp= new JPanel();
jp.setLayout(null);
initComponents();
//Establecer el fondo
getContentPane().add(jp);
setSize(1200,700);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Finaliza la App
setTitle("Mis calificaciones");
}
private JPanel jp;
public Inicio() {
jp= new JPanel();
jp.setLayout(null);
initComponents();
//Establecer el fondo
getContentPane().add(jp);
setSize(1200,700);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Finaliza la App
setTitle("Mis calificaciones");
}
private void
initComponents() {
jMenuBar1 = new javax.swing.JMenuBar();
jMenu3 = new javax.swing.JMenu();
mnuCatalogo = new javax.swing.JMenu();
mnuIMateria = new javax.swing.JMenuItem();
jSeparator1 = new javax.swing.JPopupMenu.Separator();
mnuIPersona = new javax.swing.JMenuItem();
mnuCalificacion = new javax.swing.JMenu();
mnuIRegistraCalif = new javax.swing.JMenuItem();
mnuSalir = new javax.swing.JMenu();
jMenuItem1 = new javax.swing.JMenuItem();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(null);
jMenu3.setText("Inicio");
jMenuBar1.add(jMenu3);
mnuCatalogo.setText("Catalogos");
mnuIMateria.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_M, java.awt.event.InputEvent.CTRL_MASK));
mnuIMateria.setText("Materias");
mnuIMateria.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
mnuIMateriaActionPerformed(evt);
}
});
jMenuBar1 = new javax.swing.JMenuBar();
jMenu3 = new javax.swing.JMenu();
mnuCatalogo = new javax.swing.JMenu();
mnuIMateria = new javax.swing.JMenuItem();
jSeparator1 = new javax.swing.JPopupMenu.Separator();
mnuIPersona = new javax.swing.JMenuItem();
mnuCalificacion = new javax.swing.JMenu();
mnuIRegistraCalif = new javax.swing.JMenuItem();
mnuSalir = new javax.swing.JMenu();
jMenuItem1 = new javax.swing.JMenuItem();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(null);
jMenu3.setText("Inicio");
jMenuBar1.add(jMenu3);
mnuCatalogo.setText("Catalogos");
mnuIMateria.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_M, java.awt.event.InputEvent.CTRL_MASK));
mnuIMateria.setText("Materias");
mnuIMateria.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
mnuIMateriaActionPerformed(evt);
}
});
mnuCatalogo.add(mnuIMateria);
mnuCatalogo.add(jSeparator1);
mnuIPersona.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_P, java.awt.event.InputEvent.CTRL_MASK));
mnuIPersona.setText("Personas");
mnuIPersona.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
mnuIPersonaActionPerformed(evt);
}
});
mnuCatalogo.add(mnuIPersona);
jMenuBar1.add(mnuCatalogo);
mnuCalificacion.setText("Calificaciones");
mnuIRegistraCalif.setText("Registrar");
mnuIRegistraCalif.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
mnuIRegistraCActionPerformed(evt);
}
});
mnuCalificacion.add(mnuIRegistraCalif);
jMenuBar1.add(mnuCalificacion);
mnuSalir.setText("Salir");
mnuSalir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
mnuSalirActionPerformed(evt);
}
});
mnuCatalogo.add(jSeparator1);
mnuIPersona.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_P, java.awt.event.InputEvent.CTRL_MASK));
mnuIPersona.setText("Personas");
mnuIPersona.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
mnuIPersonaActionPerformed(evt);
}
});
mnuCatalogo.add(mnuIPersona);
jMenuBar1.add(mnuCatalogo);
mnuCalificacion.setText("Calificaciones");
mnuIRegistraCalif.setText("Registrar");
mnuIRegistraCalif.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
mnuIRegistraCActionPerformed(evt);
}
});
mnuCalificacion.add(mnuIRegistraCalif);
jMenuBar1.add(mnuCalificacion);
mnuSalir.setText("Salir");
mnuSalir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
mnuSalirActionPerformed(evt);
}
});
jMenuItem1.setText("Salir");
jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem1ActionPerformed(evt);
}
});
mnuSalir.add(jMenuItem1);
jMenuBar1.add(mnuSalir);
setJMenuBar(jMenuBar1);
setBounds(0, 0, 655, 518);
}
private void mnuIMateriaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuIMateriaActionPerformed
//Descomentar new MateriaFrm().setVisible(true);
}
private void mnuIRegistraCActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuIMateriaActionPerformed
//Descomentar new CalificaFrm().setVisible(true);
}
private void mnuIPersonaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuIPersonaActionPerformed
}
private void mnuSalirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_mnuSalirActionPerformed
}
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed
System.exit(0);
}
private
javax.swing.JMenu jMenu3;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JPopupMenu.Separator jSeparator1;
private javax.swing.JMenu mnuCalificacion;
private javax.swing.JMenu mnuCatalogo;
private javax.swing.JMenuItem mnuIMateria;
private javax.swing.JMenuItem mnuIPersona;
private javax.swing.JMenuItem mnuIRegistraCalif;
private javax.swing.JMenu mnuSalir;
}
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JPopupMenu.Separator jSeparator1;
private javax.swing.JMenu mnuCalificacion;
private javax.swing.JMenu mnuCatalogo;
private javax.swing.JMenuItem mnuIMateria;
private javax.swing.JMenuItem mnuIPersona;
private javax.swing.JMenuItem mnuIRegistraCalif;
private javax.swing.JMenu mnuSalir;
}
1.-Crear la BASE DE DATOS en MySql:
2.1 Crear la carpeta lib
dentro del proyecto y pegar el archivo
2.2 Agregar la referencia al driver desde el proyecto
- Si es en NetBeans:
- Si es en JCreator:
Agregar la clase Conexion.java que contiene la conexión a la base de datos:
4.- Agregar la clase MateriaVo.java que contiene la
entidad Materia
package
centrausuario;
import
java.util.Date;
public class
MateriaVo {
private int clavemate;
private String nombremateria;
private int seriadanum;
private int consseriadanum;
private boolean status;
private Date fechaalta;
}
4.2.- Generar sus get y set en el menu
- Refactor + Encapsulate Fields
- Seleccionafr
todos los get y set de la tabla
- Presionar
Refactor
La clase quedara
asi:
package centrausuario;
package centrausuario;
import java.util.Date;
public class MateriaVo {
private int clavemate;
private String nombremateria;
private int seriadanum;
private int consseriadanum;
private boolean status;
private Date fechaalta;
public int getClavemate() {
return clavemate;
}
public void setClavemate(int clavemate) {
this.clavemate
= clavemate;
}
public String getNombremateria() {
return nombremateria;
}
public void setNombremateria(String nombremateria) {
this.nombremateria = nombremateria;
}
public int getSeriadanum() {
return seriadanum;
}
public void setSeriadanum(int seriadanum) {
this.seriadanum
= seriadanum;
}
public int getConsseriadanum() {
return consseriadanum;
}
public void setConsseriadanum(int
consseriadanum) {
this.consseriadanum
= consseriadanum;
}
public boolean isStatus() {
return status;
}
public void setStatus(boolean status) {
this.status = status;
}
public Date getFechaalta() {
return fechaalta;
}
public void setFechaalta(Date fechaalta) {
this.fechaalta = fechaalta;
}
}
5.- Agregar la clase MateriaDAO.java que contiene los
movimientos de Materia a la Base de Datos
package
centrausuario;
import java.sql.*;
import
java.text.SimpleDateFormat;
import
java.util.ArrayList;
import
java.util.Calendar;
import
javax.swing.*;
import
java.util.Date;
public class
MateriaDAO {
Conexion ObjConecta =
new Conexion();
Connection miConexion=null; //
Canal de conexion
ResultSet miTabla=null; //Guarda
informacin de las columnas(campos)
Statement miInstruccion=null; //Ejecuta
sentencias SQL sin parmetros
PreparedStatement
miInstruccionPrep=null; //Ejecuta
sentencias SQL con parmetros de entrada
int miResultado;
public MateriaDAO() {
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 Alta(MateriaVo ObjMat){
try{
String
miInsercion="Insert into materia(nombremateria,seriadanum,consseriadanum,fechaalta,status)
values(?,?,?,?,?)";
miInstruccionPrep=
miConexion.prepareStatement(miInsercion);
miInstruccionPrep.setString(1,ObjMat.getNombremateria());
miInstruccionPrep.setInt(2,ObjMat.getSeriadanum());
miInstruccionPrep.setInt(3,ObjMat.getConsseriadanum());
Calendar currenttime = Calendar.getInstance();
java.sql.Date dtFec = new
java.sql.Date(currenttime.getTimeInMillis());//
System.currentTimeMillis());
miInstruccionPrep.setDate(4,dtFec);
miInstruccionPrep.setBoolean(5,ObjMat.isStatus());
miInstruccionPrep.executeUpdate();
}catch(SQLException ex){
JOptionPane.showMessageDialog(null,"No
se encontro el Driver jdbc instalado" + ex.getMessage(),"ERROR DE
CONEXION",JOptionPane.ERROR_MESSAGE);
}
}
}
6.- Crear el formulario MateriaFrm.java, agregar y acomodar
los componentes de acuerdo a tu prototipo
(utilizar el de la practica 001)
Ejemplo:
6.1 Primero se
declaran los componentes
private
JLabel jlnombremateria;
private JLabel
jlseriadanum;
private JLabel
jlconsseriadanum;
private JLabel
jlstatus;
private JTextField jtnombremateria;
private JTextField
jtseriadanum;
private JTextField
jtconsseriadanum;
private JCheckBox jchBstatus;
6.2 Inicializar los
componentes
jlnombremateria =new JLabel("Materia:");
jlseriadanum =new JLabel("Serie:") ;
jlconsseriadanum =new
JLabel ("Consecutivo:");
jlstatus=new JLabel
("Estatus:");
jtnombremateria=new JTextField();
jtseriadanum=new JTextField();
jtconsseriadanum=new JTextField();
jchBstatus=new
JCheckBox();
6.3 Agregar
el fondo que se diseño
6.3.1 Agregar una imagen de fondo fondo.png en la carpeta images
6.3.2 Agregar la clase ImagenPanel.java en la carpeta images
package centrausuario.images;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.JPanel;
public class ImagenPanel extends JPanel {
private
Image img;
public ImagenPanel(Image imag){
this.img=imag;
Dimension dimension = new Dimension(img.getWidth(null),
img.getHeight(null));
this.setPreferredSize(dimension);
this.setMaximumSize(dimension);
this.setMinimumSize(dimension);
this.setSize(dimension);
this.setLayout(null);
}
@Override
protected void
paintComponent(Graphics g){
g.drawImage(img, 0, 0,
this);
}
}
6.3.3
En la clase MateriaFrm.java sustituir el JPanel contenedor por el
que tendra la imagen de fondo
a) Quitar:
private JPanel jp;
jp=new JPanel();
jp.setLayout(null);
b) Agregar en
el metodo initComponents():
6.4 En el metodo initComponents() de la clase MateriaFrm.java
agregar los componentes
inicializados en la etiqueta contenedora
Recuerda que
los cuatro valores de setBounds indican (x,y,ancho,alto)
jlnombremateria.setBounds(20,200,80,20);
jp.add(jlnombremateria);
jlseriadanum.setBounds(20,230,80,20);
jp.add(jlseriadanum);
jlconsseriadanum.setBounds(20,260,80,20);
jp.add(jlconsseriadanum);
jlstatus.setBounds(20,290,120,20);
jp.add(jlstatus);
jtnombremateria.setBounds(120,200,120,20);
jp.add(jtnombremateria);
jtseriadanum.setBounds(120,230,120,20);
jp.add(jtseriadanum);
jtconsseriadanum.setBounds(120,260,120,20);
jp.add(jtconsseriadanum);
jchBstatus.setBounds(120,290,120,20);
jchBstatus.setText("Estatus");
jp.add(jchBstatus);
los componentes de acuerdo a tu prototipo
(utilizar el de la practica 001)
6.3 Agregar
el fondo que se diseño
6.3.1 Agregar una imagen de fondo fondo.png en la carpeta images
6.3.2 Agregar la clase ImagenPanel.java en la carpeta images
package centrausuario.images;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.JPanel;
public class ImagenPanel extends JPanel {
private Image img;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.JPanel;
public class ImagenPanel extends JPanel {
private Image img;
public ImagenPanel(Image imag){
this.img=imag;
Dimension dimension = new Dimension(img.getWidth(null), img.getHeight(null));
this.setPreferredSize(dimension);
this.setMaximumSize(dimension);
this.setMinimumSize(dimension);
this.setSize(dimension);
this.setLayout(null);
this.img=imag;
Dimension dimension = new Dimension(img.getWidth(null), img.getHeight(null));
this.setPreferredSize(dimension);
this.setMaximumSize(dimension);
this.setMinimumSize(dimension);
this.setSize(dimension);
this.setLayout(null);
}
@Override
protected void paintComponent(Graphics g){
g.drawImage(img, 0, 0, this);
@Override
protected void paintComponent(Graphics g){
g.drawImage(img, 0, 0, this);
}
}
}
6.3.3
En la clase MateriaFrm.java sustituir el JPanel contenedor por el
que tendra la imagen de fondo
a) Quitar:
private JPanel jp;
jp=new JPanel();
jp.setLayout(null);
jp=new JPanel();
jp.setLayout(null);
b) Agregar en
el metodo initComponents():
agregar los componentes inicializados en la etiqueta contenedora
jp.add(jlnombremateria);
jlseriadanum.setBounds(20,230,80,20);
jp.add(jlseriadanum);
jlconsseriadanum.setBounds(20,260,80,20);
jp.add(jlconsseriadanum);
jlstatus.setBounds(20,290,120,20);
jp.add(jlstatus);
jtnombremateria.setBounds(120,200,120,20);
jp.add(jtnombremateria);
jtseriadanum.setBounds(120,230,120,20);
jp.add(jtseriadanum);
jtconsseriadanum.setBounds(120,260,120,20);
jp.add(jtconsseriadanum);
jchBstatus.setBounds(120,290,120,20);
jchBstatus.setText("Estatus");
jp.add(jchBstatus);
jp.add(jlseriadanum);
jlconsseriadanum.setBounds(20,260,80,20);
jp.add(jlconsseriadanum);
jlstatus.setBounds(20,290,120,20);
jp.add(jlstatus);
jtnombremateria.setBounds(120,200,120,20);
jp.add(jtnombremateria);
jtseriadanum.setBounds(120,230,120,20);
jp.add(jtseriadanum);
jtconsseriadanum.setBounds(120,260,120,20);
jp.add(jtconsseriadanum);
jchBstatus.setBounds(120,290,120,20);
jchBstatus.setText("Estatus");
jp.add(jchBstatus);
OPCIONAL:
Si se
necesita indicar el estatus con un radio button
se agregarian los radio button
siguientes:
// Declarar
private ButtonGroup grpStatus;
private
JRadioButton jRdActivo;
private JRadioButton jRdInactivo;
//Inicializar en el constructor
grpStatus = new ButtonGroup();
jRdActivo = new JRadioButton();
jRdActivo.setText("ACTIVO");
jRdActivo.setBounds(120,340,120,20);
jRdActivo.setSelected(true);
grpStatus.add(jRdActivo);
jp.add(jRdActivo);
jRdInactivo = new JRadioButton();
jRdInactivo.setText("INACTIVO");
jRdInactivo.setBounds(240,340,120,20);
jRdInactivo.setSelected(false);
grpStatus.add(jRdInactivo);
jp.add(jRdInactivo);
//Agregar en el metodo guardar()
ObjMateria.setStatus(jRdActivo.isSelected());
7.- Implementar la clase a ActionListener:
7.1.- Agregar el
implements:
public class MateriaFrm extends JFrame implements ActionListener
7.2.- Agregar al
boton jbguardar la accion:
jbguardar.addActionListener(this);
7.3.- Agregar el
metodo guardar():
public void guardar(){
MateriaVo ObjMateria = new MateriaVo();
ObjMateria.setNombremateria(jtnombremateria.getText());
ObjMateria.setSeriadanum(Integer.parseInt(jtseriadanum.getText()));
ObjMateria.setConsseriadanum(Integer.parseInt(jtconsseriadanum.getText()));
ObjMateria.setStatus(jchBstatus.isSelected());
MateriaDAO ObjDAO=new MateriaDAO();
ObjDAO.Alta(ObjMateria);
}
7.4.- Agregar el
metodo actionPerformed para ejecitar el metodo guardar()
public
void actionPerformed (ActionEvent e) {
if (e.getSource()== jbguardar){
guardar();
}
}
Nota: Verificar las
librerias a utilizar:
import
centrausuario.images.ImagenPanel;
import
java.awt.event.*;
import java.awt.*;
import javax.swing.*;
if (e.getSource()== jbguardar){
guardar();
}
}
Nota: Verificar las
librerias a utilizar:
import centrausuario.images.ImagenPanel;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
import centrausuario.images.ImagenPanel;
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;






No hay comentarios.:
Publicar un comentario