Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Mac en 14 de Noviembre 2013, 20:03

Título: Menú en Java con opciones para leer y escribir ficheros
Publicado por: Mac 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!
Título: Re:Como Realizar Un Menú En JAVA Con Estos Dos Algoritmo
Publicado por: Mac 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 ! 
Título: Re:Como Realizar Un Menú En JAVA Con Estos Dos Algoritmo
Publicado por: César Krall 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*/
        }
    }
Título: Re:Como Realizar Un Menú En JAVA Con Estos Dos Algoritmo
Publicado por: Mac 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 !
Título: Re:Como Realizar Un Menú En JAVA Con Estos Dos Algoritmo
Publicado por: Mac 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 !!!! //------------------
 


Título: Re:Como Realizar Un Menú En JAVA Con Estos Dos Algoritmo
Publicado por: Mac en 15 de Noviembre 2013, 01:43
Estoy intentando pero no se como seria la sintaxis !

Espero de su ayuda !
Título: Re:Como Realizar Un Menú En JAVA Con Estos Dos Algoritmo
Publicado por: Mac 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 !!!! //------------------
Título: Re:Como Realizar Un Menú En JAVA Con Estos Dos Algoritmo
Publicado por: Mac 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();

}
}
Título: Re:Como Realizar Un Menú En JAVA Con Estos Dos Algoritmo
Publicado por: Mac en 15 de Noviembre 2013, 19:59
No e podido solucionar nada !
Título: Re:Como Realizar Un Menú En JAVA Con Estos Dos Algoritmo
Publicado por: César Krall 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();

        }
    }
}