Foro de elhacker.net

Programación => Java => Mensaje iniciado por: the walrus en 2 Marzo 2010, 06:00 am



Título: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: the walrus en 2 Marzo 2010, 06:00 am
buenas noches a tod@s,
necesito ayuda con un proyecto en java,trata de una interfaz de gestion de clientes/personas ( nombre,apellido,telefono,dni ) que cuente con panel,guardado de datos y recuperacion mediante archivo ( file ) y menu desplegable con 3 opciones (o menu items):
*altas de clientes --> ( panel )dni + nombre + apellido + telefono
*consultas --> ( otro panel o refrescado ) a partir de un dni introducido por el usuario buscar datos del cliente en el fichero creado
*salir --> cerrar programa (cerrar ventana)

creo que lo que más problema me trae es el asunto de la busqueda por dni en el array del fichero.tampoco tengo claro cómo salvar los datos pues haciendo pruebas sin interfaz se me sobreescribía,ni cómo implementarlo ni anclarlo al frame pues no dejan usar jfile,y otras funciones puramente de 'j' archivos, porque se supone que no las hemos dado..y a 2 días vista.
no puedo agregar el codigo que tengo/tenia hasta ahora porque lo he perdido al formatear el ordenador,todos los archivos java se me ven cifrados :(
perdon por las molestias y gracias por adelantado


Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: the walrus en 2 Marzo 2010, 06:06 am
acabo de ver que quizás el hilo encaje más en el subforo 'ejercicios'..
sorry


Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: AlbertoBSD en 2 Marzo 2010, 06:21 am
Oye aqui no se le hace la tarea a nadie, si quieres guardar ficheros en GUI es lo mismo que Guardar Ficheros SIN GUI.Otra cosa es que no conozcas como guardar archivosSaludos



Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: Leyer en 2 Marzo 2010, 23:06 pm
Esta facil no tendras problemas en hacerlo nuevamente  :P y cuarquier duda que tengas hay te ayudamos ;)

Un Saludo.


Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: the walrus en 3 Marzo 2010, 13:33 pm
bueno,después de unas cuantas horas tengo más o menos la interfaz  aunque al compilar salen errores al final del código que no puedo modificar :


package paqgui;
(...)
    // End of variables declaration

alguna idea?
(tampoco sé si la creación de archivo y demás procesos están bien implementados al no poder probarlos)


Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: sapito169 en 3 Marzo 2010, 17:30 pm
-lol si tu gui esta mal hazlo todo denuevo y cuando la fregaste en netbenas es muy dificil de corregirlo no se puede editar codigo con facilidad y lo tienes que arreglar de una manera que netbenas lo entienda
-estas mesclando cosas la clase para presentar datos con la clase que tiene la logica con esto lograras partir el problema en pedasitos que se puedan probrar por separado
-ponle nombre significativo a todo


Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: the walrus en 3 Marzo 2010, 21:24 pm

*lo he intentado cambiar varias veces pero los errores siguen igual.
el asunto es que el código generado por el design de netbeans no se puede modificar,asique seria encontrar una manera de cambiarlo desde otro sitio.
*las clases quizás haya hecho algún lío,pero tengo que implementar todo el código del programa en un solo archivo,de ahí que no tenga práctica con este supuesto..no es lo mismo que tener un main y las demás clases en archivos separados,claro.
*los nombres los he puesto lo más simple que he podido,los campos de las variables que se repetían en distintos procesos apenas los he modificado,vamos,creo que no me dan fallo en sí.
(lo peor de todo es el tiempo que se me hecha encima con exámenes y curro de por medio  :o)
habría otra manera más sencilla para llegar a el mismo fin?


Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: sapito169 en 3 Marzo 2010, 22:13 pm

*lo he intentado cambiar varias veces pero los errores siguen igual.
el asunto es que el código generado por el design de netbeans no se puede modificar,asique seria encontrar una manera de cambiarlo desde otro sitio.


-no cuando tengas un problema de esos no modifiques as todo el gui desde 0 no tienes opcion ademas hacer un formulario de este tipo toma a lo mucho en el peor de los casos 10 minutos

Citar
*las clases quizás haya hecho algún lío,pero tengo que implementar todo el código del programa en un solo archivo,de ahí que no tenga práctica con este supuesto..no es lo mismo que tener un main y las demás clases en archivos separados,claro.

por que no lo puedes tener separado es una buena practica o acaso no te eneñearon a trabajar con clases o el profesor es un bruto que adbitrariamente les dijjo que trabajen todo en un "solo archivo" sera que el profesor no sabe que el ide te crea un monton de archivos que solo sirven para el ide

Citar
*los nombres los he puesto lo más simple que he podido,los campos de las variables que se repetían en distintos procesos apenas los he modificado,vamos,creo que no me dan fallo en sí.

-un nombre signifiactivo no es jTabbedPane1
-en ves de poner AltasButton pon btnDarDeAlta
-en ves de poner ape pon txtApellido
-en ves de poner dnia y dnib pon txtdniAlta y txtDniConsulta

recuerda nombres claros y conpletos con prefijos y sin lugar a duda procurando que no sean demasiados largos

Citar
(lo peor de todo es el tiempo que se me hecha encima con exámenes y curro de por medio  :o)
habría otra manera más sencilla para llegar a el mismo fin?

da tu mayor esfuerso para lograr cunplir lo mejor posible en todo y aprender al maximo y no hay ningun problema en dejar de hacer cosas que te gusten y si en el peor de los casos y solo apesar de todos tus esfuersos no te alcansa tiempo simplemente copiate para que apruebes solo como la ultima opcion


-no pongas inportancion generica import java.awt.*;
entiendie tu propio codigo


Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: sapito169 en 3 Marzo 2010, 22:25 pm
mira tu propio codigo esta muy mal echo
Código:
package paqgui;


import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;

public class ficherosgui extends javax.swing.JFrame {

//comienso del error
    private JLabel Nombrec;
    private JTabbedPane jTabbedPane1;
    private JPanel Altas;
    private JButton LimpiarAltas;
    private JButton AltasButton;
    private JTextField telefa;
    private JTextField apea;
    private JTextField noma;
    private JLabel Telefono;
    private JLabel Apellido;
    private JLabel Apellidoc;
    private JLabel Nombre;
    private JLabel DNI;
    private JTextField dnia;
    private JPanel Consultas;
    private JTextField telefc;
    private JLabel DNIc;
    private JLabel Telefonoc;
    private JTextField dnic;
    private JTextField nomc;
    private JTextField apec;
    private JButton ConsultaButton;
    private JButton Limpiarc;

//fin del error
 
    public ficherosgui() {
        initComponents();
    }

............
public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
//error
                new NewJFrame().setVisible(true);
            }
        });
    }
................................

    // Variables declaration - do not modify
    private javax.swing.JPanel Altas;
    private javax.swing.JButton AltasButton;
    private javax.swing.JLabel Apellido;
    private javax.swing.JLabel Apellidoc;
    private javax.swing.JButton ConsultaButton;
    private javax.swing.JPanel Consultas;
    private javax.swing.JLabel DNI;
    private javax.swing.JLabel DNIc;
    private javax.swing.JButton LimpiarAltas;
    private javax.swing.JButton Limpiarc;
    private javax.swing.JLabel Nombre;
    private javax.swing.JLabel Nombrec;
    private javax.swing.JLabel Telefono;
    private javax.swing.JLabel Telefonoc;
    private javax.swing.JTextField apea;
    private javax.swing.JTextField apec;
    private javax.swing.JTextField dnia;
    private javax.swing.JTextField dnic;
    private javax.swing.JTabbedPane jTabbedPane1;
    private javax.swing.JTextField noma;
    private javax.swing.JTextField nomc;
    private javax.swing.JTextField telefa;
    private javax.swing.JTextField telefc;
    // End of variables declaration
}

a continuacion voy a señalar los errores por que seguramente cuando trates de hacer el gui los vas a volver a cometer

1 esatas declarando dos  veces las mismas varibles globales en la parte de arriba de la clase y en la parte de avajo por eso es que toda la parte de avajo esta toda subrallada

2en el centro de la clase estas intaciando una clase que no existe (NewFrame) en ves de eso deberias poner tu propia clase ficherosgui


Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: sapito169 en 3 Marzo 2010, 22:27 pm
a continuacion voy a poner como deberia verse tu clase

Código:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package personas;

/**
 *
 * @author usuario
 */
import java.io.*;

//LOS ERRORES EMPIEZAN DESDE AQUÍ
public class ficherosgui extends javax.swing.JFrame {

    public ficherosgui() {
        initComponents();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jTabbedPane1 = new javax.swing.JTabbedPane();
        Altas = new javax.swing.JPanel();
        LimpiarAltas = new javax.swing.JButton();
        AltasButton = new javax.swing.JButton();
        telefa = new javax.swing.JTextField();
        apea = new javax.swing.JTextField();
        noma = new javax.swing.JTextField();
        Telefono = new javax.swing.JLabel();
        Apellido = new javax.swing.JLabel();
        Nombre = new javax.swing.JLabel();
        DNI = new javax.swing.JLabel();
        dnia = new javax.swing.JTextField();
        Consultas = new javax.swing.JPanel();
        DNIc = new javax.swing.JLabel();
        Nombrec = new javax.swing.JLabel();
        Apellidoc = new javax.swing.JLabel();
        Telefonoc = new javax.swing.JLabel();
        dnic = new javax.swing.JTextField();
        nomc = new javax.swing.JTextField();
        apec = new javax.swing.JTextField();
        ConsultaButton = new javax.swing.JButton();
        Limpiarc = new javax.swing.JButton();
        telefc = new javax.swing.JTextField();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        LimpiarAltas.setText("Limpiar");
        LimpiarAltas.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {
                LimpiarAltasActionPerformed(evt);
            }
        });

        AltasButton.setText("Altas");
        AltasButton.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {
                AltasButtonActionPerformed(evt);
            }
        });

        telefa.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {
                telefaActionPerformed(evt);
            }
        });

        noma.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {
                nomaActionPerformed(evt);
            }
        });

        Telefono.setText("Teléfono");

        Apellido.setText("Apellido");

        Nombre.setText("Nombre");

        DNI.setText("DNI");

        javax.swing.GroupLayout AltasLayout = new javax.swing.GroupLayout(Altas);
        Altas.setLayout(AltasLayout);
        AltasLayout.setHorizontalGroup(
                AltasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(AltasLayout.createSequentialGroup().addGap(70, 70, 70).addGroup(AltasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(Telefono).addGroup(AltasLayout.createSequentialGroup().addGroup(AltasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(DNI, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE).addComponent(AltasButton, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(117, 117, 117).addGroup(AltasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(LimpiarAltas, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE).addGroup(AltasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false).addComponent(telefa, javax.swing.GroupLayout.DEFAULT_SIZE, 145, Short.MAX_VALUE).addComponent(noma).addComponent(dnia, javax.swing.GroupLayout.DEFAULT_SIZE, 140, Short.MAX_VALUE).addComponent(apea)))).addGroup(AltasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false).addComponent(Nombre, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addComponent(Apellido, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 55, Short.MAX_VALUE))).addContainerGap()));
        AltasLayout.setVerticalGroup(
                AltasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(AltasLayout.createSequentialGroup().addGap(44, 44, 44).addGroup(AltasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(DNI).addComponent(dnia, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(50, 50, 50).addGroup(AltasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(Nombre).addComponent(noma, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(35, 35, 35).addGroup(AltasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(Apellido).addComponent(apea, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(38, 38, 38).addGroup(AltasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(Telefono).addComponent(telefa, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(58, 58, 58).addGroup(AltasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(AltasButton, javax.swing.GroupLayout.DEFAULT_SIZE, 37, Short.MAX_VALUE).addComponent(LimpiarAltas, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(59, 59, 59)));

        jTabbedPane1.addTab("Altas", Altas);

        DNIc.setText("DNI");

        Nombrec.setText("Nombre");

        Apellidoc.setText("Apellido");

        Telefonoc.setText("Teléfono");

        dnic.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {
                dnicActionPerformed(evt);
            }
        });

        apec.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {
                apecActionPerformed(evt);
            }
        });

        ConsultaButton.setText("Consultar");
        ConsultaButton.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {
                ConsultaButtonActionPerformed(evt);
            }
        });

        Limpiarc.setText("Limpiar");
        Limpiarc.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {
                LimpiarcActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout ConsultasLayout = new javax.swing.GroupLayout(Consultas);
        Consultas.setLayout(ConsultasLayout);
        ConsultasLayout.setHorizontalGroup(
                ConsultasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(javax.swing.GroupLayout.Alignment.TRAILING, ConsultasLayout.createSequentialGroup().addGap(64, 64, 64).addGroup(ConsultasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(Nombrec, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE).addComponent(DNIc).addComponent(Apellidoc, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE).addComponent(Telefonoc)).addGroup(ConsultasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(ConsultasLayout.createSequentialGroup().addGap(13, 13, 13).addComponent(dnic, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE)).addGroup(ConsultasLayout.createSequentialGroup().addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED).addGroup(ConsultasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false).addComponent(nomc, javax.swing.GroupLayout.Alignment.LEADING).addComponent(telefc, javax.swing.GroupLayout.Alignment.LEADING).addComponent(apec, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 112, Short.MAX_VALUE)))).addGap(69, 69, 69).addGroup(ConsultasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(ConsultaButton, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE).addComponent(Limpiarc, javax.swing.GroupLayout.PREFERRED_SIZE, 100, javax.swing.GroupLayout.PREFERRED_SIZE)).addContainerGap(45, Short.MAX_VALUE)));
        ConsultasLayout.setVerticalGroup(
                ConsultasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(javax.swing.GroupLayout.Alignment.TRAILING, ConsultasLayout.createSequentialGroup().addGroup(ConsultasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup(ConsultasLayout.createSequentialGroup().addGap(46, 46, 46).addGroup(ConsultasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(DNIc).addComponent(dnic, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 41, Short.MAX_VALUE).addGroup(ConsultasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(Nombrec).addComponent(nomc, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(30, 30, 30)).addGroup(ConsultasLayout.createSequentialGroup().addGap(48, 48, 48).addComponent(ConsultaButton, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE).addGap(59, 59, 59))).addGroup(ConsultasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false).addGroup(ConsultasLayout.createSequentialGroup().addComponent(Limpiarc, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE).addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)).addGroup(javax.swing.GroupLayout.Alignment.TRAILING, ConsultasLayout.createSequentialGroup().addGroup(ConsultasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(Apellidoc).addComponent(apec, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(31, 31, 31).addGroup(ConsultasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE).addComponent(Telefonoc).addComponent(telefc, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)).addGap(162, 162, 162)))));

        jTabbedPane1.addTab("Consultas", Consultas);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 477, javax.swing.GroupLayout.PREFERRED_SIZE));
        layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 372, javax.swing.GroupLayout.PREFERRED_SIZE));

        pack();
    }// </editor-fold>

    private void LimpiarAltasActionPerformed(java.awt.event.ActionEvent evt) {

        String a = " ";

        dnia.setText(a);
        noma.setText(a);
        apea.setText(a);
        telefa.setText(a);
    }

    private void AltasButtonActionPerformed(java.awt.event.ActionEvent evt) {


        try {
            BufferedWriter bufferedwriter = new BufferedWriter(
                    new FileWriter("c:\\usuarios.txt"));
            bufferedwriter.append(dnia.getText());
            bufferedwriter.flush();
            bufferedwriter.newLine();
            bufferedwriter.append(noma.getText());
            bufferedwriter.flush();
            bufferedwriter.newLine();
            bufferedwriter.append(apea.getText());
            bufferedwriter.flush();
            bufferedwriter.newLine();
            bufferedwriter.append(telefa.getText());
            bufferedwriter.flush();
            bufferedwriter.newLine();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }



    }

    private void nomaActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
    }

    private void telefaActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
    }

    private void dnicActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
    }

    private void apecActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
    }

    private void ConsultaButtonActionPerformed(java.awt.event.ActionEvent evt) {


        try {

            BufferedReader bufferedReader = new BufferedReader(new FileReader("C:\\usuarios.txt"));
            String read = " ";
            String request = "";
            while ((read = bufferedReader.readLine()) != null) {
                if (read.substring(read.lastIndexOf(" ")).trim().equals(request)) {
                    System.out.println("-" + read);
                }

            }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        // TODO add your handling code here:
    }

    private void LimpiarcActionPerformed(java.awt.event.ActionEvent evt) {

        String a = " ";

        dnic.setText(a);
        nomc.setText(a);
        apec.setText(a);
        telefc.setText(a);
    }                  // TODO add your handling code here:

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                (new ficherosgui()).setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify
    private javax.swing.JPanel Altas;
    private javax.swing.JButton AltasButton;
    private javax.swing.JLabel Apellido;
    private javax.swing.JLabel Apellidoc;
    private javax.swing.JButton ConsultaButton;
    private javax.swing.JPanel Consultas;
    private javax.swing.JLabel DNI;
    private javax.swing.JLabel DNIc;
    private javax.swing.JButton LimpiarAltas;
    private javax.swing.JButton Limpiarc;
    private javax.swing.JLabel Nombre;
    private javax.swing.JLabel Nombrec;
    private javax.swing.JLabel Telefono;
    private javax.swing.JLabel Telefonoc;
    private javax.swing.JTextField apea;
    private javax.swing.JTextField apec;
    private javax.swing.JTextField dnia;
    private javax.swing.JTextField dnic;
    private javax.swing.JTabbedPane jTabbedPane1;
    private javax.swing.JTextField noma;
    private javax.swing.JTextField nomc;
    private javax.swing.JTextField telefa;
    private javax.swing.JTextField telefc;
    // End of variables declaration
}



Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: sapito169 en 3 Marzo 2010, 23:29 pm
acata tines la parte del programa que seria mas dificil sobre como guardar la persona

Código:
PrintWriter printwriter = new PrintWriter(
                    new FileWriter("c:\\usuarios.txt", true));
            printwriter.println(dnia.getText() + "\n");
            printwriter.println(noma.getText() + "\n");
            printwriter.println(apea.getText() + "\n");
            printwriter.flush();
            printwriter.close();

 ya es cuestion tuya hacer el gui y para y avisa si tienes algun problema con la busqueda

a ca tienes un ejemplo

http://www.chuidiang.com/chuwiki/index.php?title=Lectura_y_Escritura_de_Ficheros_en_Java


Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: the walrus en 3 Marzo 2010, 23:32 pm


-no cuando tengas un problema de esos no modifiques as todo el gui desde 0 no tienes opcion ademas hacer un formulario de este tipo toma a lo mucho en el peor de los casos 10 minutos


algunas modificaciones han ido indicadas directamente por la compilación del netbeans..(aunque no las he reflejado)

Citar

por que no lo puedes tener separado es una buena practica o acaso no te eneñearon a trabajar con clases o el profesor es un bruto que adbitrariamente les dijjo que trabajen todo en un "solo archivo" sera que el profesor no sabe que el ide te crea un monton de archivos que solo sirven para el ide


 ;D las tres cosas.aunque lo del profesor,simplemente se puso exquisito en cuanto a lo que pedía

Citar
-un nombre signifiactivo no es jTabbedPane1
-en ves de poner AltasButton pon btnDarDeAlta
-en ves de poner ape pon txtApellido
-en ves de poner dnia y dnib pon txtdniAlta y txtDniConsulta

recuerda nombres claros y conpletos con prefijos y sin lugar a duda procurando que no sean demasiados largos
[
Citar
da tu mayor esfuerso para lograr cunplir lo mejor posible en todo y aprender al maximo y no hay ningun problema en dejar de hacer cosas que te gusten y si en el peor de los casos y solo apesar de todos tus esfuersos no te alcansa tiempo simplemente copiate para que apruebes solo como la ultima opcion


eso está claro,pero el cansancio acumulado de no dormir ni descansar los ojos es todo un hándicap  :rolleyes:


Citar

-no pongas inportancion generica import java.awt.*;
entiendie tu propio codigo




esto último nos lo indicó precisamente el profesor
(te digo que está poco actualizado y aunque usamos el netbeans no lo conoce a penas   ;-)  )


Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: the walrus en 3 Marzo 2010, 23:35 pm
mira tu propio codigo esta muy mal echo
Código:
package paqgui;


[/quote]

a ver,precisamente ése es uno de los problemas,que el código de abajo se me generó automáticamente y no me deja eliminarlo,pero errores anteriores sobre las variables se me quitaron al declararlas arriba.
lo del newFrame lo cambié poco después de postear,no me dió tiempo a editarlo  :P


Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: the walrus en 4 Marzo 2010, 00:00 am

vale.
consultas esperaba no obtener el resultado esperado,pero porque no sé como asociar el acceso aleatorio al fichero y que el resultado se presente en los campos de texto,es decir,que al verificar el DNI,las cajas restantes indiquen los datos del usuario.
en definitiva,un despropósito de código y de desorden que he lucido  :huh:
Citar
el fichero y el acceso en sí no da problema,salvo que sobrescribe el fichero al entrar un alta nueva,voy a mirar si puedo retocar esa opción

ya he conseguido no sobrescribirlo acoplando el true tras la ruta,aunque ahora me da fallo la consulta,debe ser que sí da problema el acceso..


Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: the walrus en 4 Marzo 2010, 02:13 am

Citar

ya he conseguido no sobrescribirlo acoplando el true tras la ruta,aunque ahora me da fallo la consulta,debe ser que sí da problema el acceso..


después de algunas modificaciones para que compilara toda la parte conflictiva me ha quedado tal que así :

 
Código
  1.  
  2.  
  3.  
  4. private void ConsultaButtonActionPerformed(java.awt.event.ActionEvent evt) {
  5.  
  6.           FileReader fr = null;
  7.  
  8.  
  9.        try {
  10.  
  11.            BufferedReader bufferedReader = new BufferedReader(new FileReader("C:\\usuarios.txt"));
  12.            String read=" ";
  13.            String request=dnic;
  14.            dnic.getText(" ");
  15.  
  16.            while ((read = bufferedReader.readLine()) != null) {
  17.                if(read.substring(read.lastIndexOf(" ")).trim().equals(request))
  18.  
  19.                nomc.setText(" "+read);
  20.                apec.setText(" "+read);
  21.                telefc.setText(" "+read);
  22.  
  23.                }
  24.  
  25.            }
  26.  
  27.  
  28.         catch (FileNotFoundException e) {
  29.  
  30.            e.printStackTrace();
  31.        } catch (IOException e) {
  32.  
  33.            e.printStackTrace();
  34.        }
  35.  
  36.  
  37. finally{
  38.         try{
  39.            if( null != fr){
  40.               fr.close();
  41.            }
  42.         }catch (Exception e2){
  43.            e2.printStackTrace();
  44.         }
  45.      }
  46.  
  47.    }
  48.  
  49.  
  50.    private void LimpiarcActionPerformed(java.awt.event.ActionEvent evt) {
  51.  
  52.        String a = " ";
  53.  
  54.        dnic.setText(a);
  55.        nomc.setText(a);
  56.        apec.setText(a);
  57.        telefc.setText(a);
  58.    }                
  59.  
  60.  
  61.  
  62.  

pero siguen saliend errores y sigue sin funcionar la consulta  :-(


Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: sapito169 en 4 Marzo 2010, 03:51 am
quitale el bendito if que no sirve para nada

estas leyendo mal eso es muy basico

String dni =txtDniConsulta.getText();

parece que para que te salga vas a tener que ponerle contadores

recuerda que cada 4 campos es una persona nueva




Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: the walrus en 4 Marzo 2010, 07:55 am
XDD ya,lo del if me tenía confundido..vi un par de códigos de hilos antiguos de este foro que lo llevaban y lo metí ahí mismo.
la lectura no la tengo clara del todo,
contador de este tipo?
public int getText()
  {
    count++;
    dnic.setText(String.valueOf(count));
    return count;
   }

y donde los meto?no sé,lo del botón y relacionar la salida hacia las cajas me tiene perdido y a estas horas no razono muy bien..pero hoy tengo que acabarlo  :-\





Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: the walrus en 5 Marzo 2010, 02:32 am
no he conseguido imprimir la información en las cajas,cuando modifico lo mínimo se acumulan los errores,y me he fijado ahora que al recuperar la consulta del fichero al meter el dni no saca la información de ese usuario..saca toda la del fichero!
encima me vuelve a dar problemas sacar el bufferedwriter del try,da error en el filewriter exigiendo una clase main  ;-)

estoy bloqueado


Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: the walrus en 5 Marzo 2010, 04:23 am
bueno,he conseguido quitar todos los errores y aparentemente funciona salvo que aún no devuelve los datos de la búsqueda,lee y devuelve todo el archivo  :o

Código
  1.  private void ConsultaButtonActionPerformed(java.awt.event.ActionEvent evt) {
  2.  
  3.  
  4.        try {
  5.  
  6.            BufferedReader bufferedReader = new BufferedReader(new FileReader("C:\\personas.txt"));
  7.            String read = " ";
  8.            String request = "";
  9.            while ((read = bufferedReader.readLine()) != null) {
  10.  
  11.                    System.out.println("-" + read);
  12.                }
  13.  
  14.  
  15.        } catch (FileNotFoundException e) {
  16.            // TODO Auto-generated catch block
  17.            e.printStackTrace();
  18.        } catch (IOException e) {
  19.            // TODO Auto-generated catch block
  20.            e.printStackTrace();
  21.        }
  22.  
  23.        // TODO add your handling code here:
  24.    }
  25.  

eso es la parte de las consultas,

Código:
   public void AltasButtonActionPerformed(java.awt.event.ActionEvent evt) throws IOException {
                    BufferedWriter bufferedwriter = new BufferedWriter(
                    new FileWriter("c:\\personas.txt",true));

        try {
           
            bufferedwriter.append(dnia.getText());
            bufferedwriter.flush();
            bufferedwriter.newLine();
            bufferedwriter.append(noma.getText());
            bufferedwriter.flush();
            bufferedwriter.newLine();
            bufferedwriter.append(apea.getText());
            bufferedwriter.flush();
            bufferedwriter.newLine();
            bufferedwriter.append(telefa.getText());
            bufferedwriter.flush();
            bufferedwriter.newLine();
            bufferedwriter.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }



    }
y esta la de las altas.
puede tener relación cómo se han escrito los datos para la manera en que los recupera?
(creo que el fallo esta simplemente en consultas,en la salida)


Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: Leyer en 5 Marzo 2010, 04:57 am
Bueno te ayudo ya que sapito no esta a ver para la busqueda por DNI

es de la siguiente forma

Código
  1. boolean found = false;
  2.            while ((read = bufferedReader.readLine()) != null) {
  3.             if(read.trim().equalsIgnoreCase(dnic.getText())){
  4.             JOptionPane.showMessageDialog(this, "Encontrado: \n"+
  5.             " \n Nombre: "  +bufferedReader.readLine()  +
  6.             " \n Apellido: "+bufferedReader.readLine()  +
  7.             " \n Telefono: "+bufferedReader.readLine()  +
  8.             " \n","Encontrado(a)",
  9.             JOptionPane.INFORMATION_MESSAGE);
  10.             found = true;
  11.             break;
  12.             }
  13.                }
  14.            if(!found){
  15.             JOptionPane.showMessageDialog(this, "No Encontrado", " ", JOptionPane.INFORMATION_MESSAGE);
  16.            }

-consejo-

1. Fijate que cada vez que haces una acción estas  creando un objeto del reader o del writer, haorras memoria y es mas rapido si solo creas un objeto de estos y los usas en vez de crearlo cada vez que haces una acción.


Un Saludo.


Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: the walrus en 5 Marzo 2010, 05:07 am
todo dentro del try?
me da que no lo he colado bien  :P


Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: Leyer en 5 Marzo 2010, 05:12 am
ps claro :xD es logico

Saludos.


Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: the walrus en 5 Marzo 2010, 13:20 pm
nada.
lo meto en el try de consulta dejando fuera el fileReader y el buffered y me señala como errores: trim,getText y el catch de abajo.
no funciona


Título: Re: ¿Cómo crear,consultar y guardar ficheros en GUI? (JAVA)
Publicado por: Leyer en 5 Marzo 2010, 18:55 pm
Mejor aprende un poco mas antes de seguir mi consejo y usa un poco mas de logica