elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


  Mostrar Temas
Páginas: [1]
1  Programación / Java / Ayuda agregando objetos a un ArrayList en: 4 Enero 2019, 18:08 pm
Hola!

Un amigo va a abrir un local de pizzas y yo para ir poniendo en práctica lo que he aprendido en la u, quise tratar de hacer un software que le sirviera (aún no sé bases de datos pero cuando tenga listo el código en java, empezaré a aprender bases de datos para implementarlo).

(En Colombia las universidades públicas están en paro desde hace meses, así que sólo alcancé a ver unas cuantas pocas clases, todo lo demás lo he leído por cuenta própia, disculpen las malas prácticas que de seguro habrán u.u)

El caso es que tengo una clase que es la interfaz, otra clase Control, Categoría y Producto (y otras dos que aún no uso).

Cotrol tiene una lista de Categorías, por otra parte Categoría tiene una lista de Productos.

Control ----> Categorías -----> Productos

Estoy tratando de añadir un Producto a una categoría pero por alguna razón me sale un error, y no sé cuál sea el error, ya lo traté de hacer por aparte en otros proyectos y me funciona, no sé que estaré haciendo mal aquí -.-"

Si alguien pudiera ayudarme se lo agradecería mucho, me tiene con dolor de cabeza pero no quiero abandonar esto, pues es el primer proyecto fuera de la u que me propongo a hacer.

PD: El código compila, el error sale cuando añado un producto a una categoría (NO LA AÑADE !! :S)

Aquí les dejo el código:

https://github.com/Casvill/Software-Local

GUI: (la mayor parte de este código está hecho por netBeans, yo hice los actionPerformed)
El botón que se encarga de añadir el producto (habiendo creado previamente una categoría) es  jbCrearPAñadir.

Estos son los errores que aparecen cuando le doy al boton de añadir productos:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
   at control.Categoria.añadirP(Categoria.java:26)
   at control.Control.añadirPro(Control.java:30)
   at gui.Inventario_Productos.jbCrearPAñadirActionPerformed(Inventario_Productos.java:401)
   at gui.Inventario_Productos.access$100(Inventario_Productos.java:6)
   at gui.Inventario_Productos$3.actionPerformed(Inventario_Productos.java:127)
   at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
   at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
   at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
   at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
   at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
   at java.awt.Component.processMouseEvent(Component.java:6539)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
   at java.awt.Component.processEvent(Component.java:6304)
   at java.awt.Container.processEvent(Container.java:2239)
   at java.awt.Component.dispatchEventImpl(Component.java:4889)
   at java.awt.Container.dispatchEventImpl(Container.java:2297)
   at java.awt.Component.dispatchEvent(Component.java:4711)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
   at java.awt.Container.dispatchEventImpl(Container.java:2283)
   at java.awt.Window.dispatchEventImpl(Window.java:2746)
   at java.awt.Component.dispatchEvent(Component.java:4711)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
   at java.awt.EventQueue.access$500(EventQueue.java:97)
   at java.awt.EventQueue$3.run(EventQueue.java:709)
   at java.awt.EventQueue$3.run(EventQueue.java:703)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
   at java.awt.EventQueue$4.run(EventQueue.java:733)
   at java.awt.EventQueue$4.run(EventQueue.java:731)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)


Gracias de antemano!  ;D
2  Programación / Programación C/C++ / ¿Cómo añadir texto en una parte específica de un archivo sin sobreescribir? en: 20 Diciembre 2017, 03:49 am
Puedo añadir texto al final del texto, pero, cómo hago para escribir en una parte del archivo sin sobreescribir lo que haya ahí? Me explico.

Archivo.txt:
dato 1
dato 2
dato 3

Ahora quiero escribir después del dato 2, posiciono el cursor y justo después quiero agregar "dato x". Tendría que quedar algo como:

Archivo.txt:
dato 1
dato 2
dato x
dato 3

pero lo que me ocurre es que se sobreescribe lo que hay después de dato 2 así:

Archivo.txt:
dato 1
dato 2
dato x

Cómo hago para que no se sobreescriba? y que cada vez que quiera agregar algo después de dato 2 quede algo así:

Ejemplo agregando primero "dato x" y luego "dato y":

Archivo.txt:
dato 1
dato 2
dato y
dato x
dato 3


Código
  1. void Telefono::crearTelefono(string clase,string inicio,string fin)
  2. {
  3.    string comparar;
  4.    cout<<"Numero: ";cin>>num;
  5.    cout<<"Indicativo: ";cin>>indicativo;
  6.    cout<<"Tipo: ";cin>>tipo;
  7.  
  8.    string datos=getDatosTelefono();
  9.    fstream archivo;
  10.    if(clase == "agencias")
  11.    {
  12.        archivo.open("agencias.txt");
  13.    }
  14.    else if(clase == "aerolineas")
  15.    {
  16.        archivo.open("aerolineas.txt");
  17.    }
  18.  
  19.    if(archivo.is_open())
  20.    {
  21.        while(!archivo.eof())
  22.        {
  23.            getline(archivo,comparar);
  24.            if(comparar == inicio) // todo esto es para buscar el lugar donde quiero agregar texto
  25.            {
  26.                while(!archivo.eof())
  27.                {
  28.                    getline(archivo,comparar);
  29.                    if(comparar==fin) // todo esto es para buscar el lugar donde quiero agregar texto
  30.                    {
  31.                        archivo<<datos; //una vez encontrado el lugar, que me agregue texto ahí.
  32.                        archivo.close();
  33.                    }
  34.                }
  35.            }
  36.        }
  37.        archivo.close();
  38.    }
  39.    else
  40.    {
  41.        cout<<"Error al intentar abrir el fichero.";
  42.    }
  43. }
  44. //----------------------------------------------------------
  45. string Telefono::getDatosTelefono()
  46. {
  47.    string r=tipo+": ("+indicativo+") "+num+"\n";
  48.    return r;
  49. }


Gracias de antemano!  ;D
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines