Autor Tema: Menú en Java con opciones para leer y escribir ficheros  (Leído 18157 veces)

Mac

  • Intermedio
  • ***
  • Mensajes: 174
  • Java-Php
    • Ver Perfil
Menú en Java con opciones para leer y escribir ficheros
« en: 14 de Noviembre 2013, 20:03 »
Hola comunidad ...... Teniendo este pequeña problemática de como crear un menú en JAVA que tengan 1. Opción De Escribir archivo 2. Opción De Leer archivo  con estos dos  algoritmos que e realizado ! ..no encuentro como seria la ubicación de ellos en un menú ... aquí les colocare los dos algoritmos que realizan la función de Escribir archivo  y leer archivo ..
---------------------------------------------------------------------------------------------------------------
Código: [Seleccionar]
import javax.swing.*;

import java.io.*;

public class escribir {

 
               
    public static void main(String[] args)throws IOException {
        // TODO code application logic here (algoritmo que escribe archivo)

       
  String archivo="nombre.txt";
  FileWriter fw=  new   FileWriter(archivo,true);
  BufferedWriter bw=  new BufferedWriter(fw);     
  PrintWriter  pw= new  PrintWriter (bw);
       
       
   String nombre="";     
   int sueldo,edad;
   nombre=JOptionPane.showInputDialog("digite nombre");
   sueldo=Integer.parseInt(JOptionPane.showInputDialog("digite sueldo"));     
   edad=Integer.parseInt(JOptionPane.showInputDialog("digite edad"));     
   
   pw.println(nombre+"--__--"+sueldo+"--__--"+edad+"--__--");
 
   JOptionPane.showMessageDialog(null,"los datos se guardaron EXCELENTE");
   pw.close();

}
}
     
----------------------------------------------------------------------------------------------------------------
Código: [Seleccionar]
import javax.swing.*;

import java.io.*;

public class leer {

public static void main(String[] args)throws IOException {

// TODO code application logic here (algoritmo que lee archivo)


FileReader fr = new FileReader("nombre.txt");
BufferedReader br=  new BufferedReader(fr);
String linea="";
linea=br.readLine();
while(linea!=null){

String vector[]= linea.split("--__--");
JOptionPane.showMessageDialog(null,"Nombre"+vector[0]+"\nsueldo1:"+vector[1]+"\nsueldo1:"+vector[2]);
linea=br.readLine();

}
}
}
---------------------------------------------------------

Me gustaría que me explicaran a como ubicar esto en un menu  en JAVA!
Gracias Muchísimas Gracias Por su Ayuda!
« Última modificación: 15 de Septiembre 2014, 14:31 por Alex Rodríguez »

Mac

  • Intermedio
  • ***
  • Mensajes: 174
  • Java-Php
    • Ver Perfil
Re:Como Realizar Un Menú En JAVA Con Estos Dos Algoritmo
« Respuesta #1 en: 14 de Noviembre 2013, 22:42 »
No e podido integrar los dos algoritmos en un menú!

Estaré Atento a su orientación y ayuda ! 
« Última modificación: 15 de Noviembre 2013, 00:01 por JM »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2074
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:Como Realizar Un Menú En JAVA Con Estos Dos Algoritmo
« Respuesta #2 en: 15 de Noviembre 2013, 00:06 »
Aquí te dejo un ejemplo de cómo implementar un menú, no está completo pero creo que te servirá de ayuda. Saludos!

Código: [Seleccionar]
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class ventanaConMenu extends JFrame {
//Variables de clase
private static Container contents;

   
/**
* Constructor.
*/

ventanaConMenu(int alto, int ancho) {
   
setTitle("Ventana");
setLocation(380, 50); //Colocación de la ventana
JPanel panel = new JPanel();
contents = getContentPane();
contents.add(panel, BorderLayout.CENTER);  //Espacio central
construirMenu();
//panel.requestFocusInWindow();
pack();
setVisible(true);
}//Cierre del constructor www.aprenderaprogramar.com
       
   
/**
* Método que construye el menú e implementa acciones de respuesta
*/

public void construirMenu(){

// CREACION DE LA BARRA DE MENÚ
JMenuBar barraMenu = new JMenuBar();
setJMenuBar (barraMenu);
JMenu menuOpciones = new JMenu ("Opciones Menu");
barraMenu.add (menuOpciones);


// CREACION DE LOS ITEMS DE MENÚ
JMenuItem itemDetener = new JMenuItem("Detener");
menuOpciones.add (itemDetener);

JMenuItem itemContinuarPartida = new JMenuItem("Continuar");
menuOpciones.add (itemContinuarPartida);

JMenuItem itemNuevoJuego = new JMenuItem("Nuevo Juego");
menuOpciones.add (itemNuevoJuego);

JMenuItem itemCerrarPrograma = new JMenuItem("Cerrar Programa");
menuOpciones.add (itemCerrarPrograma);

//ACCIONES DE RESPUESTA A ELECCIÓN DE ITEMS DEL MENÚ IMPLEMENTADOS COMO MÉTODOS INTERNOS ANÓNIMOS

itemDetener.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent evento){
                                                     System.out.println ("Invocación 1");  }  }  );
                                                     
itemContinuarPartida.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent evento){
                                                     System.out.println ("Invocación 2");  }  }  );
                                                     
itemNuevoJuego.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent evento){
                                                     System.out.println ("Invocación 3");  }  }  );
                                                                                         
itemCerrarPrograma.addActionListener(new ActionListener() { public void actionPerformed (ActionEvent evento){
                                                     System.out.println ("Invocación 4");  }  }  );
}// Cierre del método construirMenu
   
} //Cierre de la clase

Para ejecutarlo:

Código: [Seleccionar]
public class TestVentana {
    public static void main(String[] Args) {
        ventanaConMenu ventana1 = new ventanaConMenu(10,10);
        /*www.aprenderaprogramar.com*/
        }
    }
Responsable de departamento de producción aprenderaprogramar.com

Mac

  • Intermedio
  • ***
  • Mensajes: 174
  • Java-Php
    • Ver Perfil
Re:Como Realizar Un Menú En JAVA Con Estos Dos Algoritmo
« Respuesta #3 en: 15 de Noviembre 2013, 00:16 »
Hola cesar gracias por tu respuesta y ayuda !

Cesar ese método yo no lo e visto y no lo entiendo muy bien ! quisiera hacerlo sin un public por aparte ! que sea todo integrado en un solo proyecto.. osea quiero hacerlo por el método mas sencillo ojala me pudieras ayudar !

Mac

  • Intermedio
  • ***
  • Mensajes: 174
  • Java-Php
    • Ver Perfil
Re:Como Realizar Un Menú En JAVA Con Estos Dos Algoritmo
« Respuesta #4 en: 15 de Noviembre 2013, 00:25 »
Osea quisiera hacer un menú sin ventanas !

Mira cesar como lo estoy haciendo !

pero quisiera saber como integro los dos algoritmos de Escribir archivo y leer archivo ?

-------------------------------------------------------------------------------

Código: [Seleccionar]
import javax.swing.JOptionPane;
import javax.swing.JTextArea;

 public class MenuEscribirLeer {

    public static void main(String[] args){

        String menu="MENU DE Escribir y Leer\n";
       int n1,n2,n3;
        int op=0;
       
        menu+="1.  Escribir\n";
        menu+="2.  Leer\n";
        menu+="3.  Fin\n";
        menu+="Escoja Opción:\n";
       
        while (op!=3){
           
            op=Integer.parseInt(JOptionPane.showInputDialog(menu));
           
            switch (op){
                case 1:
             
  String archivo="nombre.txt";
  FileWriter fw=  new   FileWriter(archivo,true);
  BufferedWriter bw=  new BufferedWriter(fw);     
  PrintWriter pw= new  PrintWriter (bw);
       
       
   String nombre="";     
   int sueldo,edad;
   nombre=JOptionPane.showInputDialog("digite nombre");
   sueldo=Integer.parseInt(JOptionPane.showInputDialog("digite sueldo"));     
   edad=Integer.parseInt(JOptionPane.showInputDialog("digite edad"));     
   
   pw.println(nombre+"--__--"+sueldo+"--__--"+edad+"--__--");
 
   JOptionPane.showMessageDialog(null,"los datos se guardaron EXCELENTE");
   pw.close();
             
             
             
             
             
             
             
                break;
               
                case 2:
             
                break;
               
                case 3:
               
                break;
               
               
            }
        }
    }
 }// cierre del  public static void main Ojo !!!! //------------------
 



Mac

  • Intermedio
  • ***
  • Mensajes: 174
  • Java-Php
    • Ver Perfil
Re:Como Realizar Un Menú En JAVA Con Estos Dos Algoritmo
« Respuesta #5 en: 15 de Noviembre 2013, 01:43 »
Estoy intentando pero no se como seria la sintaxis !

Espero de su ayuda !
« Última modificación: 15 de Noviembre 2013, 03:25 por JM »

Mac

  • Intermedio
  • ***
  • Mensajes: 174
  • Java-Php
    • Ver Perfil
Re:Como Realizar Un Menú En JAVA Con Estos Dos Algoritmo
« Respuesta #6 en: 15 de Noviembre 2013, 04:29 »
A qui e echo el menú pero no e podido saber como integrar los dos algoritmos ! el de escribir archivo y el otro que es leer archivo !

Gracias pos su pronta ayuda !


-------------------------------------------------------------------------------------------------------------

Código: [Seleccionar]
import javax.swing.JOptionPane;
import javax.swing.JTextArea;

 public class MenuEscribirLeer {

    public static void main(String[] args){

        String menu="MENU DE Escribir y Leer\n";
       int n1,n2,n3;
        int op=0;
       
        menu+="1.  Escribir\n";
        menu+="2.  Leer\n";
        menu+="3.  Fin\n";
        menu+="Escoja Opción:\n";
       
        while (op!=3){
           
            op=Integer.parseInt(JOptionPane.showInputDialog(menu));
           
            switch (op){
                case 1:
             
                break;
               
                case 2:
             
                break;
               
                case 3:
               
                break;
               
               
            }
        }
    }
 }// cierre del  public static void main Ojo !!!! //------------------

Mac

  • Intermedio
  • ***
  • Mensajes: 174
  • Java-Php
    • Ver Perfil
Re:Como Realizar Un Menú En JAVA Con Estos Dos Algoritmo
« Respuesta #7 en: 15 de Noviembre 2013, 14:36 »
Esperando de su ayuda !

Sigo haciéndolo a si el menú pero me saca un error !

No me saca error pero no entra en la opción ! que ocurrirá espero de su ayuda  ?
-------------------------------------------------------------------------------------------

Código: [Seleccionar]
import javax.swing.*;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import java.io.*;

 public class MenuEscribirLeer {

    public static void main(String[] args){
       
     
       
       String menu="MENU DE Escribir y Leer\n";
       int n1,n2,n3;
       int op=0;
       
        menu+="1.  Escribir\n";
        menu+="2.  Leer\n";
        menu+="3.  Fin\n";
        menu+="Escoja Opción:\n";
       
        while (op!=3){
           
            op=Integer.parseInt(JOptionPane.showInputDialog(menu));
           
            switch (op){
               
                case 1:

               
               
                break;
               
                case 2:
             
                break;
               
                case 3:
               
                break;
               
               
            }
        }
   
 } // cierre del  public static void main Ojo !!!! //------------------
 
   public static void escribir ()throws IOException{
        // TODO code application logic here
       
  String archivo="nombre.txt";
  FileWriter fw=  new   FileWriter(archivo,true);
  BufferedWriter bw=  new BufferedWriter(fw);     
  PrintWriter  pw= new  PrintWriter (bw);
       
       
   String nombre="";     
   int sueldo,edad;
   nombre=JOptionPane.showInputDialog("digite nombre");
   sueldo=Integer.parseInt(JOptionPane.showInputDialog("digite sueldo"));     
   edad=Integer.parseInt(JOptionPane.showInputDialog("digite edad"));     
   
   pw.println(nombre+"--__--"+sueldo+"--__--"+edad+"--__--");
 
   JOptionPane.showMessageDialog(null,"los datos se guardaron EXCELENTE");
   pw.close();

}
}
« Última modificación: 15 de Noviembre 2013, 15:45 por JM »

Mac

  • Intermedio
  • ***
  • Mensajes: 174
  • Java-Php
    • Ver Perfil
Re:Como Realizar Un Menú En JAVA Con Estos Dos Algoritmo
« Respuesta #8 en: 15 de Noviembre 2013, 19:59 »
No e podido solucionar nada !

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2074
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:Como Realizar Un Menú En JAVA Con Estos Dos Algoritmo
« Respuesta #9 en: 15 de Noviembre 2013, 22:36 »
Java es un lenguaje de programación orientado a objetos y esto lo hace distinto de otros lenguajes de programación. En Java no es normal tener varios métodos main, dado el sentido que tiene este método dentro de la programación orientada a objetos. Estos son conceptos que requieren bastante tiempo de estudio para comprender. Aquí te dejo la url del curso de programación java donde está todo explicado paso a paso (pero requiere tiempo para su estudio): https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Para el caso que planteas, la solución sería poner el método main en una clase (yo he optado por dejarlo en la clase "MenuEscribirLeer") y tratar a las otras dos clases como objetos que usa la clase con el método main. Aquí te dejo el código:

Código: [Seleccionar]
import javax.swing.*;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import java.io.*;

public class MenuEscribirLeer {

    public static void main(String[] args) throws IOException{

        String menu="MENU DE Escribir y Leer\n";
        int n1,n2,n3;
        int op=0;

        menu+="1.  Escribir\n";
        menu+="2.  Leer\n";
        menu+="3.  Fin\n";
        menu+="Escoja Opción:\n";

        while (op!=3){

            op=Integer.parseInt(JOptionPane.showInputDialog(menu));

            switch (op){

                case 1:

                ObjetoEscribir objeto1 = new ObjetoEscribir();
                objeto1.crearCodigoEscribir();

                break;

                case 2:
                ObjetoLeer objeto2 = new ObjetoLeer();
                objeto2.crearCodigoLeer();

                break;

                case 3:

                break;

            }
        }

    } // cierre del  public static void main Ojo !!!! //------------------

    public static void escribir ()throws IOException{
        // TODO code application logic here

        String archivo="nombre.txt";
        FileWriter fw=  new   FileWriter(archivo,true);
        BufferedWriter bw=  new BufferedWriter(fw);     
        PrintWriter  pw= new  PrintWriter (bw);

        String nombre="";     
        int sueldo,edad;
        nombre=JOptionPane.showInputDialog("digite nombre");
        sueldo=Integer.parseInt(JOptionPane.showInputDialog("digite sueldo"));     
        edad=Integer.parseInt(JOptionPane.showInputDialog("digite edad"));     

        pw.println(nombre+"--__--"+sueldo+"--__--"+edad+"--__--");

        JOptionPane.showMessageDialog(null,"los datos se guardaron EXCELENTE");
        pw.close();

    }
}

Código: [Seleccionar]
import javax.swing.*;
import java.io.*;

public class ObjetoEscribir {

    public void crearCodigoEscribir() throws IOException {
        // TODO code application logic here (algoritmo que escribe archivo)

        String archivo="nombre.txt";
        FileWriter fw=  new   FileWriter(archivo,true);
        BufferedWriter bw=  new BufferedWriter(fw);     
        PrintWriter  pw= new  PrintWriter (bw);

        String nombre="";     
        int sueldo,edad;
        nombre=JOptionPane.showInputDialog("digite nombre");
        sueldo=Integer.parseInt(JOptionPane.showInputDialog("digite sueldo"));     
        edad=Integer.parseInt(JOptionPane.showInputDialog("digite edad"));     

        pw.println(nombre+"--__--"+sueldo+"--__--"+edad+"--__--");

        JOptionPane.showMessageDialog(null,"los datos se guardaron EXCELENTE");
        pw.close();

    }
}

Código: [Seleccionar]
import javax.swing.*;
import java.io.*;

public class ObjetoLeer {

    public void crearCodigoLeer() throws IOException {

        // TODO code application logic here (algoritmo que lee archivo)

        FileReader fr = new FileReader("nombre.txt");
        BufferedReader br=  new BufferedReader(fr);
        String linea="";
        linea=br.readLine();
        while(linea!=null){

            String vector[]= linea.split("--__--");
            JOptionPane.showMessageDialog(null,"Nombre"+vector[0]+"\nsueldo1:"+vector[1]+"\nsueldo1:"+vector[2]);
            linea=br.readLine();

        }
    }
}
Responsable de departamento de producción aprenderaprogramar.com

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".