Your SlideShare is downloading. ×
Presentacion
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Presentacion

179
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
179
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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(".")//||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("", "").toArray()));<br /> }<br /> catch(Exception e) {<br /> System.out.println("ERROR");<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("Codigo");<br /> columnas.add("Nombre");<br /> <br /> for(int i=0;i<curso.getTiposEvaluaciones().size();i++) {<br /> columnas.add(curso.getTiposEvaluaciones().get(i));<br /> }<br /> columnas.add("Promedio");<br /> tblNotas.setModel(new ModeloNotas(columnas , gestionNotas.ConsultarAlumnos("", "",(Curso)(cboCurso.getSelectedItem()))));<br /> //tblNotas.setModel(new ModeloNotas(columnas,gestionNotas.ConsultarAlumnos("", "",curso))));<br /> tblNotas.setDefaultRenderer(Object.class, new MiRender());<br /> <br /> }<br /> catch(Exception e) {<br /> System.out.println("ERROR1111");<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("0")>=0 && value.toString().compareTo("10.5")<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 />