Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - sapito169

#221
que bueno eso va a repercutir pocitimamente a la calidad del codigo y al entendimiento de los propios programadores
#222
Pensando en java es un buen libro

y si ese es un buen ejemplo puedes crear la clase matriz con los metodos ponValoren(int valor,int fila,int columna) puedes agregarle un método como Matriz suma(Matris matris)

Primero debes entender los conceptos para luego ponerte a programar ten paciencia solo es cuestión de leer y ver ejemplos
#223
en este ejemplo no se luce la poo es mas en este ejemplo en concreto estorba y lo hace mas difícil de leer trata de hacer un programa que use una clase factura y que calcule el total o un programa que use la clase cuadrado y la clase circulo por ejemplo y que calcule el are y el perímetro


CitarEsta línea no se para que sea, pero es necesaria para poder usar los métodos de la clase operaciones, en este caso la suma.
Operaciones obj=new Operaciones();

Claro sirve exactamente para lo que tu dices (sirve para poder usar los métodos de la clase operaciones)tu mismo te respondes  ;-) otra respuesta hablando en terminos mas tecnicos seria para darle un espacio en memoria para que se pued guardar el objeto de nombre obj bueno en este ejemplo no se luce supongamos que creas un objeto de la clase cuadrado al momento de hacer new Cuadrado() estas dando el espacio en memoria para que dentro de tu memoria ran se guarda un cudrado


CitarEl objeto, y el método suma, aunque no me queda claro esto.
r=obj.suma(a,b)
lo que quiere decir es que estas usando el método suma de la clase Operaciones

Bueno te recomiendo que cuando crees clases créalas ponle nombres en singular y de cosas comceptos o ideas concretas que usas como factura formularioDeVentas Pelota Animal etc, y que cada método sean cosas que hacen tus clases como por ejemplo puedes crear una clase perro con un método ladrar

#224
Supongo que si te digo la respuesta fácil te quedaras conforme pero eso no esta bien
La respuesta fácil es que uses un método statico usando la palabra reservada static al costado del método

Pero la realidad es que tus clases están muy mal modeladas para que tengas ese problema y deberías arreglarla
#225
Java / Re: Que arquitectura usar ?
7 Junio 2011, 23:45 PM
Lo más importante que debes saber es que no tomes como concepto primordial el IDE a menos que uses intensivamente las apis del ide y el ide no tiene nada que ver con las decisiones que tomes y menos con la arquitectura

No quiero caer pesado (en realidad casi siempre caigo pesado) pero las 3 capas no son exclusividad de .net estas confundiendo conceptos es mas puedes usar 3 capas mesclando .met con java o hacer las combinaciones mas raras que quieras las 3 capas solo quiere decir que una parte de un sistema se ocupa del acceso a datos la otra se ocupa de la lógica del negocio y la otra de la vista como lo hagan y que tecnologías usen esta fuera del tema

Si alguna vez usaste 3 capas en .net pues as exactamente lo mismo en java si tienes alguna inquietud de cómo hacer tal cosa que podías en .net pero no sabes cómo hacerlo en java no dudes en preguntar ya que esos son los lenguajes de "moda" y estoy seguro que muchos pueden ayudarte

Lo más importante que debes saber incluso tan importante como que arquitectura usar es que sepas lo que es el principio solid y como se aplica al lenguaje que uses
#226
Java / Re: CREACION DE AGENDA JAVA
3 Junio 2011, 22:27 PM
borren este topic o cierrenlo
#227
Java / Re: problema con un ejercicio
3 Junio 2011, 22:14 PM
Sustantivos son clases verbos son métodos relación tiene un es composición relación es un es herencia adjetivos son interfaces o clases has una lista primero separando por grupos gramaticalmente luego analiza cada uno y has tu decisión preliminar de si es clase interface o método opcionalmente crea el diagrama uml(borrador) y luego creas tus clases en java y lo más probable es que te descuenta de que alguna de tus su pociones son falsas luego corrígelo y ya tienes tu diagrama final

En resumen sigue estos pasos separa gramaticalmente luego comprueba luego pásalo a java y finalmente comprueba

Te podemos ayudar si primero pones tu lista preliminar de lo que piensas que son clases métodos interface herencia etc luego te podemos dar nuestra opiniones y correcciones
#228
public class Producto {
private int id;
private String nombre;

public Producto(int id, String nombre) {
this.id = id;
this.nombre = nombre;
}

public int getId() {
return id;
}

public String getNombre() {
return nombre;
}

@Override
public String toString() {

return "Producto [id= " + id + " nombre= " + nombre + " ]";
}
}



import java.awt.BorderLayout;

import javax.swing.DefaultCellEditor;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JTable;

public class Main {
public static void main(String arg[]) {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 400);
frame.setLocationRelativeTo(null);
JComboBox jComboBox = new JComboBox();
jComboBox.addItem(new Producto(1, "producto 1"));
jComboBox.addItem(new Producto(2, "producto 2"));
jComboBox.addItem(new Producto(3, "producto 3"));
jComboBox.addItem(new Producto(4, "producto 4"));
frame.setLayout(new BorderLayout());
DefaultCellEditor defaultCellEditor = new DefaultCellEditor(jComboBox);
JTable jtable = new JTable(3, 1);
jtable.getColumnModel().getColumn(0).setCellEditor(defaultCellEditor);
frame.getContentPane().add(jtable);
frame.setVisible(true);
}
}


Dentro de la tabla está contenida objetos de tipo producto (no tengas ningun miedo en crear clases) no es la solución con mejor manejo de memoria pero si la mas facil y rapida

-debido al comportamiento por defecto que tienen las clases swing que e usado
Una vez que seleccionas el producto que quieras la celdas se divujaran como una cadena que es obtenida al llamar al método toString de la clase producto
Eso quiere decir que si quieres que se represente la celda de otra forma digamos solo el nombre tendrías que cambiar el método toString del producto por getNombre()

-cuando llames al método getValueAt(fila,columna) te devolverá una un Objeto de la clase Producto

nota esta solución no es la más correcta si quieres trabajar representar tablas muy grandes miles de registros pero debido a que esta es una horrible practica que debe ser evita y habiendo la alternativa de simplemente paginar la tabla considero como la mejor opción

Esta solución carga objetos de tipo producto en memoria podría ser optimizada cargando solo las llaves primarias en memoria pero tendrías que tener conocimientos mas avanzados de swing y crear más clases

#229
Java / Re: como generar un modelo de jtable?
18 Mayo 2011, 19:40 PM
si estas trabajando con defaultablemodel
usa cualquiera de los metodos sobrecargados de addrow tener en cuenta que esto agrega la fila al final tambien tienes los metodos insertRow(pocicionFila,contenido)

DefaultTableModel contenido = new DefaultTableModel(data,col);
    JTable vista = new JTable(contenido);

    contenido.addRow(new Object[]{"sapito169","50"});

    contenido.addRow(new Object[]{"hack-4-life","600"});

si quieres agregar varias filas utilisa varias veces el metodo addrow

#230
Java / Re: como generar un modelo de jtable?
17 Mayo 2011, 07:28 AM
La respuesta corta es setValueAt(fila,columna,valor) siempre y cuando el modelo sea defaultablemodel (tienes que leer y entender tu propio código)

simplemente tienes que usar el método setValueAt(fila,columna,valor) (tener en cuenta que tienes que leer tu propio código y conocer de polimorfismo por que el método setValueAt pertenece a la clase defaultablemodel y no todo los modelo o contenidos de la tabla son defaultablemodel) donde valor es un objeto o primitivo que tiene que concordar con la clase de la columna es decir que si en la primera columna le pones enteros en la primera columna no le puedes poner boleanos otra cosa que tienes que tener en cuenta es que el jtable tiene un comportamiento por defecto por el cual solo puede representar en sus celdas primitivos o wrapers por (ejemplo double y Double) es decir que si quieres meterle un boton la tabla no ba a ser capaz de dibujarlo (si se puede pero tienes que hacerlo a mano)


Es bueno que te toque este tipo de situaciones donde aprendes que los ides lo único que hacen es estorbar es bueno porque aprendes a tener costumbres que escalen y te empieza a importar mucho la calidad del código

otra cosa que te comento es que no estás desarrollando una aplicación trivial o de ejemplo y por las horribles(catastróficas) experiencias ajenas que vi(yo si analice y le di importancia y aplique las palabras de los profesores y libros) debes modelar tu aplicación en java quiere decir que tienes que creas pojos para cada uno de los objetos de negocio(también conocido como entidades y que en un 70 por ciento de las veces son idénticas a tus tablas) ejemplo producto persona empleado factura orden de compra letra etc cada una de las acciones que realicen los pojos deben ser métodos de los mismos y solo deben llamar a las variables globales (todos los métodos deben ser verbos) además todos los servicios que use tu aplicación sea persistencia ,impresión,, graficacion ,alertas ,comunicación externa, etc.  deben ser clases que implementen una interface donde la interface debe ser un adjetivo o sustantivo que defina de forma muy abstracta y escueta o básica o minimalista que hace y que la clase sea sustantivo lo mas precisa concreta y exacta .como ejemplo para el servicio de autentificación la interface sea autenticador y la clase AutentificadorGoogle o AutentificadorJDBC o AutentificadorJPA, los formularios deben ser muy diferentes que mis gusto por las mujeres es decir lo mas estúpidas posibles es decir que los formularios instancien los servicios o mejor aun los formualorios solo representa la parte visual y delegan su responsabilidad a un controlador