SlideShare uma empresa Scribd logo
1 de 7
PRESENTACION<br />En el Paquete Presentación  se ha creado  cuatro frames, de los cuales tres depende de un principal llamado frmPrincipal  el cual llama a los demás instanciándolos como se observa aquí:<br />frmPrincipal:<br />Pare esto se ha creado un contenedor en el frmPrincipal en donde podremos tener a los demás frames para esto se ha creado:<br />public class frmPrincipal extends javax.swing.JFrame {<br />    public frmPrincipal() {<br />        initComponents();<br />        setExtendedState(javax.swing.JFrame.MAXIMIZED_BOTH);<br />}<br />En la parte superior de este frame se han creado 4 items de menú  <br />Los otros frames se llaman así:<br />frmCursos ofrmCursos = new frmCursos();<br />        pnlPrincipal.add(ofrmCursos);<br />        ofrmCursos.setVisible(true);<br />A continuación se explicara el frame curso el cual el principal para registrar a cada curso. <br />Para esto se ha creado al igual que en FrmAlumnos  y frmNotas  su respectivo  modelo   <br />En estemodelo en realidad es una clase hija de AbstractTableModel {} que esta en implementada en java,esta clase es modificada para luego ser utilizada en presentacion en su respectiva tabla:<br />Los metodos que han sidomodificados son los siguientes:<br />getRowCount() {}  devuelve el numero de filas<br />getColumnCount() {}devuelve el numero de columnas <br />getColumnName(int columnIndex) {} devuelve el numero de columnas<br />getValueAt(int rowIndex, int columnIndex) {}toma los valores que se encuentran en la tabla<br />isCellEditable(int rowIndex, int columnIndex) {}devuelve si puede ser o no editable<br />setValueAt(Object aValue, int rowIndex, int columnIndex) {}devuelve los valores de cada celda <br />if(aValue!= null) {<br />if(aValue.toString().isEmpty()) {<br />                datos.get(rowIndex).getNotas().get(columnIndex - 2).setValor(-1.0);<br />            }<br />            else {<br />                if(esnumero(aValue.toString())==true){<br />          datos.get(rowIndex).getNotas().get(columnIndex -  2).setValor (Double.parseDouble (aValue. toString( )));<br />                }<br />                Calculadora calculadora = new Calculadora();<br />                Double promedio = calculadora.Calcular(datos.get(rowIndex).getOCurso().getFormula(), datos.get(rowIndex).getNotas());<br />                datos.get(rowIndex).setPromedio(promedio);<br />            }<br />            fireTableCellUpdated(rowIndex, columnIndex);<br />            fireTableCellUpdated(rowIndex, datos.get(rowIndex).getNotas().size() + 2);<br />        }<br />Como podemos observar este es el metodo mas importante puesto q en el se ejecutara el promedio lamando a los metodos que se encuentran en la logica Negocios:”calculadora”  y posteriormente promedio.<br />Como vemos primero se evalua si se encuentran llenas las cedas de de la tabla y luego pasamos  estos valores a la clase calculadora donde se devolvera el resultado promedio de la formula ya extraida.<br />Auxiliarmente hemos creido convenientemente crear <br />    public boolean esnumero(String numero){<br />        numero= numero.toUpperCase();<br />        int con=0;<br />        for (int i = 0; i < numero.length(); i++) {<br />            if(numero.substring(i, i+1).equals(quot;
.quot;
)//||numero(numero.substring(i, i+1))==false<br />              ){<br />                con=con+1;<br />            }<br />        }<br />        if(con>1){<br />            return false;<br />        }else{<br />            return true;<br />        }<br />    }<br />Este metodo es utilizado con elfin dequeen la tabla solo seingrese dato s doubles y no alla algun error como elde ingresar dobles puntos.<br />Parapoder entendermejor el proyectopsare a explicar el uso del frame notas:<br />public frmNotas() {<br />        initComponents();<br />        this.setLocation(Toolkit.getDefaultToolkit().getScreenSize().width / 2 - this.getWidth() / 2,Toolkit.getDefaultToolkit().getScreenSize().height / 2 - this.getHeight() / 2 );<br />        PresentarCursos();<br />    }<br />    private void PresentarCursos() {<br />        GestionNotas gestionNotas = new GestionNotas();<br />        try {<br />            cboCurso.setModel(new DefaultComboBoxModel(gestionNotas.ConsultarCursos(quot;
quot;
, quot;
quot;
).toArray()));<br />        }<br />        catch(Exception e) {<br />            System.out.println(quot;
ERRORquot;
);<br />        }<br />    }<br />En este metodo al tenerelcombo de alumnos se ha creado un combo por default seconsultan todos los cursos los cuales son agregadosen un array y a su vez sonpresentado en elframe medianteel combo    con el metodo PresentarCursos() {}<br />Luego se llama al siguiente metodo;<br />    private void PresentarAlumnos() {<br />        GestionNotas gestionNotas = new GestionNotas();<br />        try {<br />            Curso curso = ((Curso)(cboCurso.getSelectedItem()));<br />            List<String> columnas = new ArrayList<String>();<br />            columnas.add(quot;
Codigoquot;
);<br />            columnas.add(quot;
Nombrequot;
);<br />            <br />            for(int i=0;i<curso.getTiposEvaluaciones().size();i++) {<br />                columnas.add(curso.getTiposEvaluaciones().get(i));<br />            }<br />            columnas.add(quot;
Promedioquot;
);<br />            tblNotas.setModel(new ModeloNotas(columnas , gestionNotas.ConsultarAlumnos(quot;
quot;
, quot;
quot;
,(Curso)(cboCurso.getSelectedItem()))));<br />            //tblNotas.setModel(new ModeloNotas(columnas,gestionNotas.ConsultarAlumnos(quot;
quot;
, quot;
quot;
,curso))));<br />            tblNotas.setDefaultRenderer(Object.class, new MiRender());<br />     <br />        }<br />        catch(Exception e) {<br />            System.out.println(quot;
ERROR1111quot;
);<br />        }<br />    }<br />Este metodo llama al modelo de alumnos y en este es presentado, a la vez se ha usado una clase por defauld de tabla:<br />public class MiRender extends DefaultTableCellRenderer {<br />        @Override<br />public Component getTableCellRendererComponent(JTable table,<br />Object value, boolean isSelected, boolean hasFocus, int row,<br />int column) {<br />            if(column>1){<br />Component cell = super.getTableCellRendererComponent(table, value,<br />isSelected, hasFocus, row, column);<br />//cell.setBackground(Color.BLUE);<br />if(value!=null){<br />                    if(value.toString().compareTo(quot;
0quot;
)>=0 && value.toString().compareTo(quot;
10.5quot;
)<0<br />                      )<br />                        //Double.parseDouble(value.toString())>0&&Double.parseDouble(value.toString())<10.5)<br />                        cell.setForeground(Color.red);<br />                    else<br />                        cell.setForeground(Color.blue);<br />                }<br />                return cell;<br />            }else{<br />                Component cell = super.getTableCellRendererComponent(table, value,<br />isSelected, hasFocus, row, column);<br />//cell.setBackground(Color.GREEN);<br />cell.setForeground(Color.BLACK);<br />                                <br />                return cell;<br />            }<br />}<br />    }<br />En esta se le asigna colores a las notas si son 10 a 10.5 o 0 a 1 las muestra de color rojo.<br /> <br />
Presentacion
Presentacion
Presentacion
Presentacion
Presentacion
Presentacion

Mais conteúdo relacionado

Mais procurados

Ejercicios de programacion concurrente
Ejercicios de programacion concurrenteEjercicios de programacion concurrente
Ejercicios de programacion concurrente
edgar muñoz
 
Estructuras iterativas1
Estructuras iterativas1Estructuras iterativas1
Estructuras iterativas1
Kathy Granizo
 
Problemas propuestos clase 0-1
Problemas propuestos  clase 0-1Problemas propuestos  clase 0-1
Problemas propuestos clase 0-1
Jefferson Prieto
 
7090112 Clase Transact Sql Server
7090112 Clase Transact Sql Server7090112 Clase Transact Sql Server
7090112 Clase Transact Sql Server
Corfapo
 
Arreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionalesArreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionales
Marco Garay
 
Programa en java para calcular promedios
Programa en java para calcular promediosPrograma en java para calcular promedios
Programa en java para calcular promedios
Carmen Nereira
 
Problemas propuesto 1 al12
Problemas propuesto 1 al12Problemas propuesto 1 al12
Problemas propuesto 1 al12
YO Por Que
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestos
marigelcontreras
 

Mais procurados (19)

Informe tecnicou1
Informe tecnicou1Informe tecnicou1
Informe tecnicou1
 
Ejercicios de programacion concurrente
Ejercicios de programacion concurrenteEjercicios de programacion concurrente
Ejercicios de programacion concurrente
 
Informe tecnico de la unidad 1
Informe tecnico de la unidad 1Informe tecnico de la unidad 1
Informe tecnico de la unidad 1
 
Estructuras iterativas1
Estructuras iterativas1Estructuras iterativas1
Estructuras iterativas1
 
Problemas propuestos clase 0-1
Problemas propuestos  clase 0-1Problemas propuestos  clase 0-1
Problemas propuestos clase 0-1
 
7090112 Clase Transact Sql Server
7090112 Clase Transact Sql Server7090112 Clase Transact Sql Server
7090112 Clase Transact Sql Server
 
Pre Algoritmos
Pre AlgoritmosPre Algoritmos
Pre Algoritmos
 
Matlab1
Matlab1Matlab1
Matlab1
 
Arreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionalesArreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionales
 
Programa en java para calcular promedios
Programa en java para calcular promediosPrograma en java para calcular promedios
Programa en java para calcular promedios
 
Estructuras iterativas en java y pseudocódigo
Estructuras iterativas en java y pseudocódigoEstructuras iterativas en java y pseudocódigo
Estructuras iterativas en java y pseudocódigo
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacion
 
Script de Punteros a Funciones
Script de Punteros a FuncionesScript de Punteros a Funciones
Script de Punteros a Funciones
 
Bucles de Control Repetitivo Ciclos For
Bucles de Control Repetitivo  Ciclos ForBucles de Control Repetitivo  Ciclos For
Bucles de Control Repetitivo Ciclos For
 
Guia estructuras cíclicas
Guia estructuras cíclicasGuia estructuras cíclicas
Guia estructuras cíclicas
 
Problemas propuesto 1 al12
Problemas propuesto 1 al12Problemas propuesto 1 al12
Problemas propuesto 1 al12
 
Informe estructura de datos Unidad 1
Informe estructura de datos Unidad 1Informe estructura de datos Unidad 1
Informe estructura de datos Unidad 1
 
Estructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestosEstructuras iterativas y ejemplos propuestos
Estructuras iterativas y ejemplos propuestos
 
MéTodos En Java
MéTodos En JavaMéTodos En Java
MéTodos En Java
 

Destaque (9)

Datos previos
Datos previosDatos previos
Datos previos
 
Parte Principal
Parte  Principal Parte  Principal
Parte Principal
 
Logica de negocios
Logica de negociosLogica de negocios
Logica de negocios
 
Entidades
EntidadesEntidades
Entidades
 
Entidades
EntidadesEntidades
Entidades
 
Entidades
EntidadesEntidades
Entidades
 
Acceso a datos
Acceso a datosAcceso a datos
Acceso a datos
 
Logica de negocios
Logica de negociosLogica de negocios
Logica de negocios
 
Datos Previos
Datos PreviosDatos Previos
Datos Previos
 

Semelhante a Presentacion

Metodosenjava 110504201809-phpapp02
Metodosenjava 110504201809-phpapp02Metodosenjava 110504201809-phpapp02
Metodosenjava 110504201809-phpapp02
aleja09_40
 
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
Videoconferencias UTPL
 
Java::Acceso a Bases de Datos
Java::Acceso a Bases de DatosJava::Acceso a Bases de Datos
Java::Acceso a Bases de Datos
jubacalo
 
3 desarollo manejo datos capitulo 3 -01 arreglo objetos
3 desarollo manejo datos capitulo 3 -01 arreglo objetos3 desarollo manejo datos capitulo 3 -01 arreglo objetos
3 desarollo manejo datos capitulo 3 -01 arreglo objetos
luis freddy
 

Semelhante a Presentacion (20)

Resulset
ResulsetResulset
Resulset
 
Metodosenjava 110504201809-phpapp02
Metodosenjava 110504201809-phpapp02Metodosenjava 110504201809-phpapp02
Metodosenjava 110504201809-phpapp02
 
Resulteset
ResultesetResulteset
Resulteset
 
sentenciareturnymetodos
sentenciareturnymetodossentenciareturnymetodos
sentenciareturnymetodos
 
Arreglos, Procedimientos y Funciones
Arreglos, Procedimientos y FuncionesArreglos, Procedimientos y Funciones
Arreglos, Procedimientos y Funciones
 
Ecuaciones Cuadraticas
Ecuaciones CuadraticasEcuaciones Cuadraticas
Ecuaciones Cuadraticas
 
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
UTPL-PROGRAMACIÓN AVANZADA-II-BIMESTRE-(OCTUBRE 2011-FEBRERO 2012)
 
C# calculadora
C# calculadoraC# calculadora
C# calculadora
 
Java::Acceso a Bases de Datos
Java::Acceso a Bases de DatosJava::Acceso a Bases de Datos
Java::Acceso a Bases de Datos
 
Ayuda la clase statement
Ayuda la clase statementAyuda la clase statement
Ayuda la clase statement
 
ee
eeee
ee
 
Algoritmos divide y vencerás
Algoritmos divide y vencerásAlgoritmos divide y vencerás
Algoritmos divide y vencerás
 
Java básico
Java  básicoJava  básico
Java básico
 
3 desarollo manejo datos capitulo 3 -01 arreglo objetos
3 desarollo manejo datos capitulo 3 -01 arreglo objetos3 desarollo manejo datos capitulo 3 -01 arreglo objetos
3 desarollo manejo datos capitulo 3 -01 arreglo objetos
 
Procedimientos Almacenados
Procedimientos AlmacenadosProcedimientos Almacenados
Procedimientos Almacenados
 
Comandos
ComandosComandos
Comandos
 
Matrices
MatricesMatrices
Matrices
 
Workshop iOS 4: Closures, generics & operators
Workshop iOS 4: Closures, generics & operatorsWorkshop iOS 4: Closures, generics & operators
Workshop iOS 4: Closures, generics & operators
 
Programacion fantasticos
Programacion  fantasticosProgramacion  fantasticos
Programacion fantasticos
 
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANSTutorial  JPA Parte 1  : CRUD BASICO CON JPA Y SWING en NETBEANS
Tutorial JPA Parte 1 : CRUD BASICO CON JPA Y SWING en NETBEANS
 

Presentacion

  • 1. PRESENTACION<br />En el Paquete Presentación se ha creado cuatro frames, de los cuales tres depende de un principal llamado frmPrincipal el cual llama a los demás instanciándolos como se observa aquí:<br />frmPrincipal:<br />Pare esto se ha creado un contenedor en el frmPrincipal en donde podremos tener a los demás frames para esto se ha creado:<br />public class frmPrincipal extends javax.swing.JFrame {<br /> public frmPrincipal() {<br /> initComponents();<br /> setExtendedState(javax.swing.JFrame.MAXIMIZED_BOTH);<br />}<br />En la parte superior de este frame se han creado 4 items de menú <br />Los otros frames se llaman así:<br />frmCursos ofrmCursos = new frmCursos();<br /> pnlPrincipal.add(ofrmCursos);<br /> ofrmCursos.setVisible(true);<br />A continuación se explicara el frame curso el cual el principal para registrar a cada curso. <br />Para esto se ha creado al igual que en FrmAlumnos y frmNotas su respectivo modelo <br />En estemodelo en realidad es una clase hija de AbstractTableModel {} que esta en implementada en java,esta clase es modificada para luego ser utilizada en presentacion en su respectiva tabla:<br />Los metodos que han sidomodificados son los siguientes:<br />getRowCount() {} devuelve el numero de filas<br />getColumnCount() {}devuelve el numero de columnas <br />getColumnName(int columnIndex) {} devuelve el numero de columnas<br />getValueAt(int rowIndex, int columnIndex) {}toma los valores que se encuentran en la tabla<br />isCellEditable(int rowIndex, int columnIndex) {}devuelve si puede ser o no editable<br />setValueAt(Object aValue, int rowIndex, int columnIndex) {}devuelve los valores de cada celda <br />if(aValue!= null) {<br />if(aValue.toString().isEmpty()) {<br /> datos.get(rowIndex).getNotas().get(columnIndex - 2).setValor(-1.0);<br /> }<br /> else {<br /> if(esnumero(aValue.toString())==true){<br /> datos.get(rowIndex).getNotas().get(columnIndex - 2).setValor (Double.parseDouble (aValue. toString( )));<br /> }<br /> Calculadora calculadora = new Calculadora();<br /> Double promedio = calculadora.Calcular(datos.get(rowIndex).getOCurso().getFormula(), datos.get(rowIndex).getNotas());<br /> datos.get(rowIndex).setPromedio(promedio);<br /> }<br /> fireTableCellUpdated(rowIndex, columnIndex);<br /> fireTableCellUpdated(rowIndex, datos.get(rowIndex).getNotas().size() + 2);<br /> }<br />Como podemos observar este es el metodo mas importante puesto q en el se ejecutara el promedio lamando a los metodos que se encuentran en la logica Negocios:”calculadora” y posteriormente promedio.<br />Como vemos primero se evalua si se encuentran llenas las cedas de de la tabla y luego pasamos estos valores a la clase calculadora donde se devolvera el resultado promedio de la formula ya extraida.<br />Auxiliarmente hemos creido convenientemente crear <br /> public boolean esnumero(String numero){<br /> numero= numero.toUpperCase();<br /> int con=0;<br /> for (int i = 0; i < numero.length(); i++) {<br /> if(numero.substring(i, i+1).equals(quot; .quot; )//||numero(numero.substring(i, i+1))==false<br /> ){<br /> con=con+1;<br /> }<br /> }<br /> if(con>1){<br /> return false;<br /> }else{<br /> return true;<br /> }<br /> }<br />Este metodo es utilizado con elfin dequeen la tabla solo seingrese dato s doubles y no alla algun error como elde ingresar dobles puntos.<br />Parapoder entendermejor el proyectopsare a explicar el uso del frame notas:<br />public frmNotas() {<br /> initComponents();<br /> this.setLocation(Toolkit.getDefaultToolkit().getScreenSize().width / 2 - this.getWidth() / 2,Toolkit.getDefaultToolkit().getScreenSize().height / 2 - this.getHeight() / 2 );<br /> PresentarCursos();<br /> }<br /> private void PresentarCursos() {<br /> GestionNotas gestionNotas = new GestionNotas();<br /> try {<br /> cboCurso.setModel(new DefaultComboBoxModel(gestionNotas.ConsultarCursos(quot; quot; , quot; quot; ).toArray()));<br /> }<br /> catch(Exception e) {<br /> System.out.println(quot; ERRORquot; );<br /> }<br /> }<br />En este metodo al tenerelcombo de alumnos se ha creado un combo por default seconsultan todos los cursos los cuales son agregadosen un array y a su vez sonpresentado en elframe medianteel combo con el metodo PresentarCursos() {}<br />Luego se llama al siguiente metodo;<br /> private void PresentarAlumnos() {<br /> GestionNotas gestionNotas = new GestionNotas();<br /> try {<br /> Curso curso = ((Curso)(cboCurso.getSelectedItem()));<br /> List<String> columnas = new ArrayList<String>();<br /> columnas.add(quot; Codigoquot; );<br /> columnas.add(quot; Nombrequot; );<br /> <br /> for(int i=0;i<curso.getTiposEvaluaciones().size();i++) {<br /> columnas.add(curso.getTiposEvaluaciones().get(i));<br /> }<br /> columnas.add(quot; Promedioquot; );<br /> tblNotas.setModel(new ModeloNotas(columnas , gestionNotas.ConsultarAlumnos(quot; quot; , quot; quot; ,(Curso)(cboCurso.getSelectedItem()))));<br /> //tblNotas.setModel(new ModeloNotas(columnas,gestionNotas.ConsultarAlumnos(quot; quot; , quot; quot; ,curso))));<br /> tblNotas.setDefaultRenderer(Object.class, new MiRender());<br /> <br /> }<br /> catch(Exception e) {<br /> System.out.println(quot; ERROR1111quot; );<br /> }<br /> }<br />Este metodo llama al modelo de alumnos y en este es presentado, a la vez se ha usado una clase por defauld de tabla:<br />public class MiRender extends DefaultTableCellRenderer {<br /> @Override<br />public Component getTableCellRendererComponent(JTable table,<br />Object value, boolean isSelected, boolean hasFocus, int row,<br />int column) {<br /> if(column>1){<br />Component cell = super.getTableCellRendererComponent(table, value,<br />isSelected, hasFocus, row, column);<br />//cell.setBackground(Color.BLUE);<br />if(value!=null){<br /> if(value.toString().compareTo(quot; 0quot; )>=0 && value.toString().compareTo(quot; 10.5quot; )<0<br /> )<br /> //Double.parseDouble(value.toString())>0&&Double.parseDouble(value.toString())<10.5)<br /> cell.setForeground(Color.red);<br /> else<br /> cell.setForeground(Color.blue);<br /> }<br /> return cell;<br /> }else{<br /> Component cell = super.getTableCellRendererComponent(table, value,<br />isSelected, hasFocus, row, column);<br />//cell.setBackground(Color.GREEN);<br />cell.setForeground(Color.BLACK);<br /> <br /> return cell;<br /> }<br />}<br /> }<br />En esta se le asigna colores a las notas si son 10 a 10.5 o 0 a 1 las muestra de color rojo.<br /> <br />