luis12011988
Bovino maduro
- Desde
- 4 Jun 2011
- Mensajes
- 294
- Tema Autor
- #1
Hola bakunos, tengo un problemilla al tratar de implementar un programa en java, lo que pasa es que estoy utilizando arraylist en java y tengo algunos errores en mi codigo, espero me puedan ayudar.
BUeno aqui les paso mi codigo:
Clase producto:
En esta clase implemento todos los atributos de mi proyecto, entre ellos son: codigo, descripcion, precio, stock.
Clase ArregloProductos:
Aqui viene lo bueno, lo que pasa es que quiero actualizar con la funcion actualiza unos datos de un formulario que mas adelante les pasare y no sé como arreglar ese codigo para que funcione bien en mi formulario.
Tengo una duda grande en lo que me pueda servir el i en esa funcion y ojala me puedan ayudar al respecto:
Clase WinArrayList:
Aqui me voy a ir al grano, tengo un problema con mi boton modificar porque me pide un indice y no sé a que se debe, quizas alguna variable me falta y ojala me puedan ayudar porfavor.
Si me ayudan en este tema les agradecere mucho, espero logren encontrar la solucion puesto que lo necesito muy pronto.Salu2
BUeno aqui les paso mi codigo:
Clase producto:
En esta clase implemento todos los atributos de mi proyecto, entre ellos son: codigo, descripcion, precio, stock.
Clase ArregloProductos:
Aqui viene lo bueno, lo que pasa es que quiero actualizar con la funcion actualiza unos datos de un formulario que mas adelante les pasare y no sé como arreglar ese codigo para que funcione bien en mi formulario.
Tengo una duda grande en lo que me pueda servir el i en esa funcion y ojala me puedan ayudar al respecto:
Código:
public class ArregloProductos
{
// particulariza a objetos de tipo Producto
private ArrayList <Producto> a ;
Producto pr;
// constructor
public ArregloProductos()
{
a = new ArrayList<Producto>();
}
public int getN()
{
// retorna el numero de objetos guardados
return a.size();
}
// métodos de administración
public void agrega(Producto p)
{
// guarda un Nuevo producto
a.add(p);
}
public void agrega(String cod, String desc, double pre, int st)
{
pr = new Producto(cod, desc, pre, st);
a.add(pr);
}
public Producto getProducto(int i)
{
// obtiene un producto de la posición i
return a.get(i);
}
[B]public void actualiza(int i, String cod, String desc, double pre, int st)
{
Producto pr = new Producto(cod, desc, pre, st);
a.set(i, pr);
} [/B]
// retorna la posición de un producto según su código.
public int busca(String codigo)
{
for(int i=0; i<getN(); i++)
{
if(getProducto(i).getCodigo().equals(codigo))
return i;
}
return -1; // no lo encontró
}
public String buscaModif(String codigo)
{
String linea ="";
int i = busca(codigo);
linea = getProducto(i).getCodigo() + "," +
getProducto(i).getDescripcion() + "," +
getProducto(i).getPrecio() + "," +
getProducto(i).getStock();
return linea;
}
public void elimina(int p)
{
// elimina el producto de la posición p
a.remove(p);
}
public String listar()
{
String linea = "";
for(int i=0; i<getN(); i++)
{
linea = linea + getProducto(i).getCodigo() + "\t" +
getProducto(i).getDescripcion() + "\t\t" +
getProducto(i).getPrecio() + "\t" +
getProducto(i).getStock() + "\n";
}
return linea;
}
}
Clase WinArrayList:
Aqui me voy a ir al grano, tengo un problema con mi boton modificar porque me pide un indice y no sé a que se debe, quizas alguna variable me falta y ojala me puedan ayudar porfavor.
Código:
public class WinArrayList extends javax.swing.JFrame
{
ArregloProductos pAp;
public WinArrayList()
{
initComponents();
pAp = new ArregloProductos();
}
private void btnGuardarAgregarActionPerformed(java.awt.event.ActionEvent evt) {
String cod = txtCodAgregar.getText();
String desc = txtDescripAgregar.getText();
double prec = Double.parseDouble(txtPrecioAgregar.getText());
int st = Integer.parseInt(txtStockAgregar.getText());
pAp.agrega(cod, desc, prec, st);
txtCodAgregar.setText("");
txtDescripAgregar.setText("");
txtPrecioAgregar.setText("");
txtStockAgregar.setText("");
txtCodAgregar.requestFocus();
}
private void btnListarActionPerformed(java.awt.event.ActionEvent evt) {
String datos = pAp.listar();
txaDListar.setText(datos);
}
private void btnEliminarActionPerformed(java.awt.event.ActionEvent evt) {
String cod = txtCodEliminar.getText();
int p = pAp.busca(cod);
if(p>=0)
{
pAp.elimina(p);
JOptionPane.showMessageDialog(null,"Codigo "+cod+", eliminado");
}
else
JOptionPane.showMessageDialog(null,"Codigo "+cod+", no existe");
}
[B]private void btnmodificarActionPerformed(java.awt.event.ActionEvent evt) {
//int codi = Integer.parseInt(txtcodmod.getText());
int cod = Integer.parseInt(txtcodmod.getText());
String desc = txtdescmod.getText();
double prec = Double.parseDouble(txtpremod.getText());
int st = Integer.parseInt(txtstomod.getText());
pAp.actualiza(cod, cod, desc, prec, st);
}[/B]
private void btnBuscarModifActionPerformed(java.awt.event.ActionEvent evt) {
String cod = txtcodmod.getText();
String datos = pAp.buscaModif(cod);
String[] dat = datos.split(",");
txtcodmod.setText(dat[0]);
txtdescmod.setText(dat[1]);
txtpremod.setText(dat[2]);
txtstomod.setText(dat[3]);
}
Si me ayudan en este tema les agradecere mucho, espero logren encontrar la solucion puesto que lo necesito muy pronto.Salu2