Borra y modificar el nombre y el adeudo
Por Favor ayudenme
Necesito corrergir este programa, no puedo lograr que haga bien las bajas y modificaciones.
Gracias de antemano.
import java.io.*;
import javax.swing.JOptionPane;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.Serializable;
class DameTuSonrisa extends JFrame implements ActionListener
{
public JButton agregar,borrar, modificar,INICIOS;
public JTextField mat, nom, adeu,archivoss;
public JTextArea area;
public JLabel matricula, nombre, adeudo;
public JMenu menu, inicio;
RandomAccessFile Archivo;
public DameTuSonrisa()
{
super("Trabajo Final");
Container contenedor = getContentPane();
contenedor.setLayout(new FlowLayout());
agregar=new JButton("Dar de Alta");
agregar.setEnabled(false);
borrar= new JButton("Dar de Baja");
borrar.setEnabled(false);
modificar=new JButton("Hacer Cambios");
modificar.setEnabled(false);
INICIOS=new JButton("Correr el Archivo");
INICIOS.setEnabled(false);
archivoss=new JTextField(45);
contenedor.add(archivoss);
archivoss.setEditable(true);
menu=new JMenu("opciones");
menu.setMnemonic('O');
JMenuItem abrir=new JMenuItem("Abrir Archivo");
abrir.setMnemonic('A');
menu.add(abrir);
abrir.addActionListener(this);
JMenuBar barra=new JMenuBar();
setJMenuBar(barra);
barra.add(menu);
JMenuItem inicio=new JMenuItem("Crear un Archivo");
inicio.setMnemonic('C');
menu.add(inicio);
inicio.addActionListener(this);
barra.add(menu);
matricula=new JLabel("Matricula");
contenedor.add(matricula);
mat=new JTextField(45);
contenedor.add(mat);
mat.setEditable(false); //////
nombre=new JLabel("Nombre");
contenedor.add(nombre);
nom=new JTextField(45);
contenedor.add(nom);
nom.setEditable(false); /////
adeudo=new JLabel("Adeudo");
contenedor.add(adeudo);
adeu=new JTextField(45);
contenedor.add(adeu);
adeu.setEditable(false); ////////
contenedor.add(agregar);
contenedor.add(borrar);
contenedor.add(modificar);
contenedor.add(INICIOS);
area=new JTextArea(50,50);
contenedor.add(area);
agregar.addActionListener(this);
borrar.addActionListener(this);
modificar.addActionListener(this);
abrir.addActionListener(this);
INICIOS.addActionListener(this);
setSize(500,600);
setVisible(true);
}
public void actionPerformed(ActionEvent evento)
{
String accion,a,b,c;
int x,y,z;
accion=evento.getActionCommand();
if(accion.equals("Dar de Alta"))
{
System.out.println("Estamos en agregar ");
agregar();
}
else
//////
if(accion.equals("Crear un Archivo"))
{
System.out.println("Estamos en crear ");
crearArchivo();////YA
}
else
/////////
if(accion.equals("Dar de Baja"))
{
System.out.println("Estamos en Baja ");
borrar();
/* try
{
String nombrearchivo1="";
File CA=new File(archivoss.getText());
boolean AWW =CA.createNewFile();
if(AWW)
{
area.setText(" ");
area.append("ya creaste el archivo"+nombrearchivo1);
}
else
{
area.setText(" ");
area.append("ya creaste el archivo"+nombrearchivo1+" no se puede crear");
}
}
catch(Exception k)
{
}*/
}
else
/*borrar(); */
if(accion.equals("Hacer Cambios"))
{
System.out.println("Estamos en modificar ");
modificar();
}
else
if(accion.equals("Abrir Archivo"))
{
System.out.println("Estamos en abrir ");
abrirArchivo();///YA
apertura();
}
else
{
}
if(accion.equals("Correr el Archivo"))
{
System.out.println("Estamos en correr ");
///////LLAMAR EL METODO
/*nombrearchivo.seek(0);*/
}
else
{
}
}//actionPerformed(ActionEvent evento)
public void apertura()
{
/*int c=0;
nombrearchivo.seek(0);
leer(nombrearchivo,c);*/
}
void abrirArchivo()
{
System.out.println("abrir");
String nombrearchivo;
//FileDialog fd=new FileDialog(new Frame(),"hola",FileDialog.LOAD);
//fd.setVisible(true);
//nombrearchivo=fd.getFile();
JFileChooser SelectorArchivo=new JFileChooser();
SelectorArchivo.setFileSelectionMode(JFileChooser.FILES_ONLY);
int resultado=SelectorArchivo.showSaveDialog(null);
if(resultado==JFileChooser.CANCEL_OPTION)
return;
File nombreArchivo=SelectorArchivo.getSelectedFile();
if(nombreArchivo==null||nombreArchivo.getName().equals(""))
JOptionPane.showMessageDialog(null,"NOMBRE DE ARCHIVO INCORRECTO","NOMBRE DE ARCHIVO INCORRECTO", JOptionPane.ERROR_MESSAGE);
else
{
try
{
Archivo=new RandomAccessFile(nombreArchivo,"rw");
System.out.println("enable");
}// try
catch (IOException excepciones)
{
JOptionPane.showMessageDialog(null,"ERROR AL PROCESAR EL ARCHIVO","ERROR AL PROCESAR EL ARCHIVO",JOptionPane.ERROR_MESSAGE);
System.exit(1);
} // catch
}
}// public static abrirArchivo()
public void crearArchivo()
{
try
{
String nombrearchivo1="";
nombrearchivo1=archivoss.getText();
System.out.println("Vamos a crear "+nombrearchivo1);
File CA=new File(nombrearchivo1);
boolean AWW =CA.createNewFile();
System.out.println("creatNewFile() "+AWW);
if(AWW)
{
area.setText(" ");
area.append("ya creaste el archivo"+nombrearchivo1);
}
else
{
area.setText(" ");
area.append("ya creaste el archivo"+nombrearchivo1+" no se puede crear");
}
Archivo=new RandomAccessFile(CA,"rw");
RegistroAlumnoFile objetoRAF = new RegistroAlumnoFile(0,"Archivo Inicial",0);
objetoRAF.escribir(Archivo,0);
mat.setEditable(true);
nom.setEditable(true);
adeu.setEditable(true);
agregar.setEnabled(true);
borrar.setEnabled(true);
modificar.setEnabled(true);
}
catch(Exception k)
{
}
}
public void agregar()
{
System.out.println("ey agregar");
String a,b,c;
int contador=0;
System.out.println("ya vamos");
RegistroAlumnoFile objeto=new RegistroAlumnoFile();
objeto.leer(Archivo,0);
contador=objeto.getMatricula();
System.out.println("Contador es "+contador);
a=mat.getText();
b=nom.getText();
c=adeu.getText();
int x,i;
double z;
x=Integer.parseInt(a);
z=Double.parseDouble(c);
System.out.println("ejercito");
for(i=1;i<=contador;i++)
{
System.out.println("ya orale");
objeto.leer(Archivo,i);
if(objeto.getMatricula()==x)
{
System.out.println("hollllllaaaaaaaa");
JOptionPane.showMessageDialog(null,"Incorrecto ","No puedes Escribir ya existe esa matricula", JOptionPane.ERROR_MESSAGE);
return;
}
} // for
System.out.println("ya vamos");
contador++;
objeto.leer(Archivo,0);// se lee el contador en la posicion cero
objeto.setMatricula(contador); //se le agrega la informacion al contador en la ultima posicion
objeto.escribir(Archivo,0); // toma el metodo escribir en la posicion cero del contador
objeto.setMatricula(x);//se le da matricula lo que se escribio
objeto.setNombre(b);//se le da nombre lo que se escribio
objeto.setAdeudo(z);//se le da adeudo lo que se escribio
objeto.escribir(Archivo,contador);//todo lo de escribir lo pone para que el area lo reciba
area.append(x+"t t "+b+" t t"+z+"n");
mat.setText("");
nom.setText("");
adeu.setText("");
/* try
{
/* RegistroAlumnoFile objeto=new RegistroAlumnoFile();
objeto.escribir(Archivo,0);*/
/* }
catch(NumberFormatException gt)
{
JOptionPane.showMessageDialog(null,"Por fin corre ","Error en el Archivo", JOptionPane.ERROR_MESSAGE);
}*/
mat.setEnabled(true);
nom.setEnabled(true);
adeu.setEnabled(true);
// if
}// metodo agregar
public class RegistroAlumno implements Serializable
{
private int matricula;
private String nombre;
private double adeudo;
public RegistroAlumno()
{
this(0,"",0.0);
}
public RegistroAlumno(int matr, String nombre, double importe)
{
setMatricula(matr);
setNombre(nombre);
setAdeudo(importe);
System.out.println("Inicializar objeto "+matricula+nombre+adeudo);
}
public void setMatricula(int matr)
{
matricula=matr;
}
public int getMatricula()
{
return matricula;
}
public void setNombre(String nombre)
{
this.nombre=nombre;
}
public String getNombre()
{
return nombre;
}
public void setAdeudo(double importe)
{
adeudo=importe;
}
public double getAdeudo()
{
return adeudo;
}
} // fin
public void borrar()
{
int contador=0;
RegistroAlumnoFile objeto=new RegistroAlumnoFile();
objeto.leer(Archivo,0);
objeto.escribir(Archivo,0);
contador=objeto.getMatricula();
System.out.println("ya vamos a ganar");
String a,b,c;
a=mat.getText();
b=nom.getText();
c=adeu.getText();
int x,i;
double z;
x=Integer.parseInt(a);
z=Double.parseDouble(c);
System.out.println("casa");
for(i=1;i<=contador;i--)
{
System.out.println("casota");
objeto.leer(Archivo,i);
if(objeto.getMatricula()==x)
{
System.out.println("m2");
objeto.leer(Archivo,0);// se lee el contador en la posicion cero
objeto.setMatricula(contador); //se le agrega la informacion al contador en la ultima posicion
objeto.escribir(Archivo,0); // toma el metodo escribir en la posicion cero del contador
contador=contador-1;
System.out.println("ya casi");
objeto.setMatricula(x);//se le da matricula lo que se escribio
objeto.setNombre(b);//se le da nombre lo que se escribio
objeto.setAdeudo(z);//se le da adeudo lo que se escribio
objeto.escribir(Archivo,contador);//todo lo de escribir lo pone para que el area lo reciba
area.append(x+"t t "+b+" t t"+z+"n");
mat.setText("");
nom.setText("");
adeu.setText("");
}
}
} // metodo borrar
public void modificar()
{
int contador=0;
RegistroAlumnoFile objeto=new RegistroAlumnoFile();
objeto.leer(Archivo,0);
contador=objeto.getMatricula();
System.out.println("ya vamos a ganar");
String a,b,c;
a=mat.getText();
b=nom.getText();
c=adeu.getText();
int x,i;
double z;
x=Integer.parseInt(a);
z=Double.parseDouble(c);
System.out.println("casa");
for(i=1;i<=contador;i++)
{
System.out.println("casota");
objeto.leer(Archivo,i);
if(objeto.getMatricula()==x)
{
contador=contador;
System.out.println("m2");
objeto.leer(Archivo,0);// se lee el contador en la posicion cero
objeto.setMatricula(contador); //se le agrega la informacion al contador en la ultima posicion
objeto.escribir(Archivo,0); // toma el metodo escribir en la posicion cero del contador
objeto.setMatricula(x);//se le da matricula lo que se escribio
objeto.setNombre(b);//se le da nombre lo que se escribio
objeto.setAdeudo(z);//se le da adeudo lo que se escribio
objeto.escribir(Archivo,contador);//todo lo de escribir lo pone para que el area lo reciba
area.append(x+"t t "+b+" t t"+z+"n");
mat.setText("");
nom.setText("");
adeu.setText("");
}
}
}// metodo modificar
public static void main(String[] lws)throws IOException
{
DameTuSonrisa aplicacion= new DameTuSonrisa();
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} // MAIN PRINCIPAL
} /// lo primero
import java.io.Serializable;
public class RegistroAlumnoz implements Serializable
{
private int matricula;
private String nombre;
private double adeudo;
public RegistroAlumnoz()
{
this(0,"",0.0);
} // fin
public RegistroAlumnoz(int matricula, String nombre, double importe)
{
setMatricula(matricula);
setNombre(nombre);
setAdeudo(importe);
} //fin
public void setMatricula(int matr)
{
matricula=matr;
}
public int getMatricula()
{
return matricula;
}
public void setNombre(String nombre)
{
this.nombre=nombre;
}
public String getNombre()
{
return nombre;
}
public void setAdeudo(double importe)
{
adeudo=importe;
}
public double getAdeudo()
{
return adeudo;
}
}
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.JOptionPane;
import java.io.Serializable;
public class RegistroAlumnoFile extends RegistroAlumnoz
{
public static final int LONGITUD=72;
public RegistroAlumnoFile()
{
this(0,"",0.0);
} // public RegistroAlumnoFile()
public RegistroAlumnoFile (int matricula, String nombre,double adeudo)
{
super(matricula,nombre, adeudo);
} // public RegistroAlumnoFile (int matricula, String nombre,double adeudo)
public void leer(RandomAccessFile archivo, int nRegistro) // throws IOException
{
try
{
archivo.seek(nRegistro*LONGITUD);
setMatricula(archivo.readInt());
setNombre(leerNombre(archivo));
setAdeudo(archivo.readDouble());
} //try
catch(IOException x)
{
JOptionPane.showMessageDialog(null,"Error leer un registro","Error en el archivo",JOptionPane.ERROR_MESSAGE);
} // catch(IOException x)
} // public void leer(RandomAccessFile archivo, int nRegistro) // throws IOException
private String leerNombre(RandomAccessFile archivo) // throws IOException
{
char nombre[]=new char[30], temp;
try
{
for(int matricula=0;matricula<nombre.length;matricula++)
{
temp=archivo.readChar();
nombre[matricula]=temp;
}
} // try
catch(IOException x)
{
JOptionPane.showMessageDialog(null,"Error leer un registro","Error en el archivo",JOptionPane.ERROR_MESSAGE);
}// catch
return new String(nombre).replace(' ',' ');
} // private String leerNombre(RamdomAccessFile archivo) // throws IOException
public void escribir(RandomAccessFile archivo, int nRegistro) // throws IOException
{
try
{
archivo.seek(nRegistro*LONGITUD);
archivo.writeInt(getMatricula());
escribirNombre(archivo,getNombre());
archivo.writeDouble(getAdeudo());
} //try
catch(IOException x)
{
JOptionPane.showMessageDialog(null,"Error ESCRIBIR un registro","Error en el archivo",JOptionPane.ERROR_MESSAGE);
}// CATCH
} // public void escribir(RamdomAccessFile archivo, int nRegistro) // throws IOException
private void escribirNombre(RandomAccessFile archivo, String nombre) // throws IOException
{
StringBuffer buffer=null;
if(nombre!=null)
buffer=new StringBuffer(nombre);
else
buffer=new StringBuffer(30);
buffer.setLength(30);
try
{
archivo.writeChars(buffer.toString());
} // try
catch(IOException x)
{
JOptionPane.showMessageDialog(null,"Error ESCRIBIR un registro","Error en el archivo",JOptionPane.ERROR_MESSAGE);
}
} // private void escribirNombre(RamdomAccessFile archivo), String nombre) // throws IOException
} // public class RegistroAlumnoFile extends RegistroAlumno
Necesito corrergir este programa, no puedo lograr que haga bien las bajas y modificaciones.
Gracias de antemano.
import java.io.*;
import javax.swing.JOptionPane;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.Serializable;
class DameTuSonrisa extends JFrame implements ActionListener
{
public JButton agregar,borrar, modificar,INICIOS;
public JTextField mat, nom, adeu,archivoss;
public JTextArea area;
public JLabel matricula, nombre, adeudo;
public JMenu menu, inicio;
RandomAccessFile Archivo;
public DameTuSonrisa()
{
super("Trabajo Final");
Container contenedor = getContentPane();
contenedor.setLayout(new FlowLayout());
agregar=new JButton("Dar de Alta");
agregar.setEnabled(false);
borrar= new JButton("Dar de Baja");
borrar.setEnabled(false);
modificar=new JButton("Hacer Cambios");
modificar.setEnabled(false);
INICIOS=new JButton("Correr el Archivo");
INICIOS.setEnabled(false);
archivoss=new JTextField(45);
contenedor.add(archivoss);
archivoss.setEditable(true);
menu=new JMenu("opciones");
menu.setMnemonic('O');
JMenuItem abrir=new JMenuItem("Abrir Archivo");
abrir.setMnemonic('A');
menu.add(abrir);
abrir.addActionListener(this);
JMenuBar barra=new JMenuBar();
setJMenuBar(barra);
barra.add(menu);
JMenuItem inicio=new JMenuItem("Crear un Archivo");
inicio.setMnemonic('C');
menu.add(inicio);
inicio.addActionListener(this);
barra.add(menu);
matricula=new JLabel("Matricula");
contenedor.add(matricula);
mat=new JTextField(45);
contenedor.add(mat);
mat.setEditable(false); //////
nombre=new JLabel("Nombre");
contenedor.add(nombre);
nom=new JTextField(45);
contenedor.add(nom);
nom.setEditable(false); /////
adeudo=new JLabel("Adeudo");
contenedor.add(adeudo);
adeu=new JTextField(45);
contenedor.add(adeu);
adeu.setEditable(false); ////////
contenedor.add(agregar);
contenedor.add(borrar);
contenedor.add(modificar);
contenedor.add(INICIOS);
area=new JTextArea(50,50);
contenedor.add(area);
agregar.addActionListener(this);
borrar.addActionListener(this);
modificar.addActionListener(this);
abrir.addActionListener(this);
INICIOS.addActionListener(this);
setSize(500,600);
setVisible(true);
}
public void actionPerformed(ActionEvent evento)
{
String accion,a,b,c;
int x,y,z;
accion=evento.getActionCommand();
if(accion.equals("Dar de Alta"))
{
System.out.println("Estamos en agregar ");
agregar();
}
else
//////
if(accion.equals("Crear un Archivo"))
{
System.out.println("Estamos en crear ");
crearArchivo();////YA
}
else
/////////
if(accion.equals("Dar de Baja"))
{
System.out.println("Estamos en Baja ");
borrar();
/* try
{
String nombrearchivo1="";
File CA=new File(archivoss.getText());
boolean AWW =CA.createNewFile();
if(AWW)
{
area.setText(" ");
area.append("ya creaste el archivo"+nombrearchivo1);
}
else
{
area.setText(" ");
area.append("ya creaste el archivo"+nombrearchivo1+" no se puede crear");
}
}
catch(Exception k)
{
}*/
}
else
/*borrar(); */
if(accion.equals("Hacer Cambios"))
{
System.out.println("Estamos en modificar ");
modificar();
}
else
if(accion.equals("Abrir Archivo"))
{
System.out.println("Estamos en abrir ");
abrirArchivo();///YA
apertura();
}
else
{
}
if(accion.equals("Correr el Archivo"))
{
System.out.println("Estamos en correr ");
///////LLAMAR EL METODO
/*nombrearchivo.seek(0);*/
}
else
{
}
}//actionPerformed(ActionEvent evento)
public void apertura()
{
/*int c=0;
nombrearchivo.seek(0);
leer(nombrearchivo,c);*/
}
void abrirArchivo()
{
System.out.println("abrir");
String nombrearchivo;
//FileDialog fd=new FileDialog(new Frame(),"hola",FileDialog.LOAD);
//fd.setVisible(true);
//nombrearchivo=fd.getFile();
JFileChooser SelectorArchivo=new JFileChooser();
SelectorArchivo.setFileSelectionMode(JFileChooser.FILES_ONLY);
int resultado=SelectorArchivo.showSaveDialog(null);
if(resultado==JFileChooser.CANCEL_OPTION)
return;
File nombreArchivo=SelectorArchivo.getSelectedFile();
if(nombreArchivo==null||nombreArchivo.getName().equals(""))
JOptionPane.showMessageDialog(null,"NOMBRE DE ARCHIVO INCORRECTO","NOMBRE DE ARCHIVO INCORRECTO", JOptionPane.ERROR_MESSAGE);
else
{
try
{
Archivo=new RandomAccessFile(nombreArchivo,"rw");
System.out.println("enable");
}// try
catch (IOException excepciones)
{
JOptionPane.showMessageDialog(null,"ERROR AL PROCESAR EL ARCHIVO","ERROR AL PROCESAR EL ARCHIVO",JOptionPane.ERROR_MESSAGE);
System.exit(1);
} // catch
}
}// public static abrirArchivo()
public void crearArchivo()
{
try
{
String nombrearchivo1="";
nombrearchivo1=archivoss.getText();
System.out.println("Vamos a crear "+nombrearchivo1);
File CA=new File(nombrearchivo1);
boolean AWW =CA.createNewFile();
System.out.println("creatNewFile() "+AWW);
if(AWW)
{
area.setText(" ");
area.append("ya creaste el archivo"+nombrearchivo1);
}
else
{
area.setText(" ");
area.append("ya creaste el archivo"+nombrearchivo1+" no se puede crear");
}
Archivo=new RandomAccessFile(CA,"rw");
RegistroAlumnoFile objetoRAF = new RegistroAlumnoFile(0,"Archivo Inicial",0);
objetoRAF.escribir(Archivo,0);
mat.setEditable(true);
nom.setEditable(true);
adeu.setEditable(true);
agregar.setEnabled(true);
borrar.setEnabled(true);
modificar.setEnabled(true);
}
catch(Exception k)
{
}
}
public void agregar()
{
System.out.println("ey agregar");
String a,b,c;
int contador=0;
System.out.println("ya vamos");
RegistroAlumnoFile objeto=new RegistroAlumnoFile();
objeto.leer(Archivo,0);
contador=objeto.getMatricula();
System.out.println("Contador es "+contador);
a=mat.getText();
b=nom.getText();
c=adeu.getText();
int x,i;
double z;
x=Integer.parseInt(a);
z=Double.parseDouble(c);
System.out.println("ejercito");
for(i=1;i<=contador;i++)
{
System.out.println("ya orale");
objeto.leer(Archivo,i);
if(objeto.getMatricula()==x)
{
System.out.println("hollllllaaaaaaaa");
JOptionPane.showMessageDialog(null,"Incorrecto ","No puedes Escribir ya existe esa matricula", JOptionPane.ERROR_MESSAGE);
return;
}
} // for
System.out.println("ya vamos");
contador++;
objeto.leer(Archivo,0);// se lee el contador en la posicion cero
objeto.setMatricula(contador); //se le agrega la informacion al contador en la ultima posicion
objeto.escribir(Archivo,0); // toma el metodo escribir en la posicion cero del contador
objeto.setMatricula(x);//se le da matricula lo que se escribio
objeto.setNombre(b);//se le da nombre lo que se escribio
objeto.setAdeudo(z);//se le da adeudo lo que se escribio
objeto.escribir(Archivo,contador);//todo lo de escribir lo pone para que el area lo reciba
area.append(x+"t t "+b+" t t"+z+"n");
mat.setText("");
nom.setText("");
adeu.setText("");
/* try
{
/* RegistroAlumnoFile objeto=new RegistroAlumnoFile();
objeto.escribir(Archivo,0);*/
/* }
catch(NumberFormatException gt)
{
JOptionPane.showMessageDialog(null,"Por fin corre ","Error en el Archivo", JOptionPane.ERROR_MESSAGE);
}*/
mat.setEnabled(true);
nom.setEnabled(true);
adeu.setEnabled(true);
// if
}// metodo agregar
public class RegistroAlumno implements Serializable
{
private int matricula;
private String nombre;
private double adeudo;
public RegistroAlumno()
{
this(0,"",0.0);
}
public RegistroAlumno(int matr, String nombre, double importe)
{
setMatricula(matr);
setNombre(nombre);
setAdeudo(importe);
System.out.println("Inicializar objeto "+matricula+nombre+adeudo);
}
public void setMatricula(int matr)
{
matricula=matr;
}
public int getMatricula()
{
return matricula;
}
public void setNombre(String nombre)
{
this.nombre=nombre;
}
public String getNombre()
{
return nombre;
}
public void setAdeudo(double importe)
{
adeudo=importe;
}
public double getAdeudo()
{
return adeudo;
}
} // fin
public void borrar()
{
int contador=0;
RegistroAlumnoFile objeto=new RegistroAlumnoFile();
objeto.leer(Archivo,0);
objeto.escribir(Archivo,0);
contador=objeto.getMatricula();
System.out.println("ya vamos a ganar");
String a,b,c;
a=mat.getText();
b=nom.getText();
c=adeu.getText();
int x,i;
double z;
x=Integer.parseInt(a);
z=Double.parseDouble(c);
System.out.println("casa");
for(i=1;i<=contador;i--)
{
System.out.println("casota");
objeto.leer(Archivo,i);
if(objeto.getMatricula()==x)
{
System.out.println("m2");
objeto.leer(Archivo,0);// se lee el contador en la posicion cero
objeto.setMatricula(contador); //se le agrega la informacion al contador en la ultima posicion
objeto.escribir(Archivo,0); // toma el metodo escribir en la posicion cero del contador
contador=contador-1;
System.out.println("ya casi");
objeto.setMatricula(x);//se le da matricula lo que se escribio
objeto.setNombre(b);//se le da nombre lo que se escribio
objeto.setAdeudo(z);//se le da adeudo lo que se escribio
objeto.escribir(Archivo,contador);//todo lo de escribir lo pone para que el area lo reciba
area.append(x+"t t "+b+" t t"+z+"n");
mat.setText("");
nom.setText("");
adeu.setText("");
}
}
} // metodo borrar
public void modificar()
{
int contador=0;
RegistroAlumnoFile objeto=new RegistroAlumnoFile();
objeto.leer(Archivo,0);
contador=objeto.getMatricula();
System.out.println("ya vamos a ganar");
String a,b,c;
a=mat.getText();
b=nom.getText();
c=adeu.getText();
int x,i;
double z;
x=Integer.parseInt(a);
z=Double.parseDouble(c);
System.out.println("casa");
for(i=1;i<=contador;i++)
{
System.out.println("casota");
objeto.leer(Archivo,i);
if(objeto.getMatricula()==x)
{
contador=contador;
System.out.println("m2");
objeto.leer(Archivo,0);// se lee el contador en la posicion cero
objeto.setMatricula(contador); //se le agrega la informacion al contador en la ultima posicion
objeto.escribir(Archivo,0); // toma el metodo escribir en la posicion cero del contador
objeto.setMatricula(x);//se le da matricula lo que se escribio
objeto.setNombre(b);//se le da nombre lo que se escribio
objeto.setAdeudo(z);//se le da adeudo lo que se escribio
objeto.escribir(Archivo,contador);//todo lo de escribir lo pone para que el area lo reciba
area.append(x+"t t "+b+" t t"+z+"n");
mat.setText("");
nom.setText("");
adeu.setText("");
}
}
}// metodo modificar
public static void main(String[] lws)throws IOException
{
DameTuSonrisa aplicacion= new DameTuSonrisa();
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} // MAIN PRINCIPAL
} /// lo primero
import java.io.Serializable;
public class RegistroAlumnoz implements Serializable
{
private int matricula;
private String nombre;
private double adeudo;
public RegistroAlumnoz()
{
this(0,"",0.0);
} // fin
public RegistroAlumnoz(int matricula, String nombre, double importe)
{
setMatricula(matricula);
setNombre(nombre);
setAdeudo(importe);
} //fin
public void setMatricula(int matr)
{
matricula=matr;
}
public int getMatricula()
{
return matricula;
}
public void setNombre(String nombre)
{
this.nombre=nombre;
}
public String getNombre()
{
return nombre;
}
public void setAdeudo(double importe)
{
adeudo=importe;
}
public double getAdeudo()
{
return adeudo;
}
}
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.swing.JOptionPane;
import java.io.Serializable;
public class RegistroAlumnoFile extends RegistroAlumnoz
{
public static final int LONGITUD=72;
public RegistroAlumnoFile()
{
this(0,"",0.0);
} // public RegistroAlumnoFile()
public RegistroAlumnoFile (int matricula, String nombre,double adeudo)
{
super(matricula,nombre, adeudo);
} // public RegistroAlumnoFile (int matricula, String nombre,double adeudo)
public void leer(RandomAccessFile archivo, int nRegistro) // throws IOException
{
try
{
archivo.seek(nRegistro*LONGITUD);
setMatricula(archivo.readInt());
setNombre(leerNombre(archivo));
setAdeudo(archivo.readDouble());
} //try
catch(IOException x)
{
JOptionPane.showMessageDialog(null,"Error leer un registro","Error en el archivo",JOptionPane.ERROR_MESSAGE);
} // catch(IOException x)
} // public void leer(RandomAccessFile archivo, int nRegistro) // throws IOException
private String leerNombre(RandomAccessFile archivo) // throws IOException
{
char nombre[]=new char[30], temp;
try
{
for(int matricula=0;matricula<nombre.length;matricula++)
{
temp=archivo.readChar();
nombre[matricula]=temp;
}
} // try
catch(IOException x)
{
JOptionPane.showMessageDialog(null,"Error leer un registro","Error en el archivo",JOptionPane.ERROR_MESSAGE);
}// catch
return new String(nombre).replace(' ',' ');
} // private String leerNombre(RamdomAccessFile archivo) // throws IOException
public void escribir(RandomAccessFile archivo, int nRegistro) // throws IOException
{
try
{
archivo.seek(nRegistro*LONGITUD);
archivo.writeInt(getMatricula());
escribirNombre(archivo,getNombre());
archivo.writeDouble(getAdeudo());
} //try
catch(IOException x)
{
JOptionPane.showMessageDialog(null,"Error ESCRIBIR un registro","Error en el archivo",JOptionPane.ERROR_MESSAGE);
}// CATCH
} // public void escribir(RamdomAccessFile archivo, int nRegistro) // throws IOException
private void escribirNombre(RandomAccessFile archivo, String nombre) // throws IOException
{
StringBuffer buffer=null;
if(nombre!=null)
buffer=new StringBuffer(nombre);
else
buffer=new StringBuffer(30);
buffer.setLength(30);
try
{
archivo.writeChars(buffer.toString());
} // try
catch(IOException x)
{
JOptionPane.showMessageDialog(null,"Error ESCRIBIR un registro","Error en el archivo",JOptionPane.ERROR_MESSAGE);
}
} // private void escribirNombre(RamdomAccessFile archivo), String nombre) // throws IOException
} // public class RegistroAlumnoFile extends RegistroAlumno
haber compadre...
en primera cuando lo corro me sale una ventana donde solo tiuenes un menu bar con dos menu uno q dice abrir y otro crear archivo.
unos label y textfield donde estan ciertas opcions, no mevoy aponer a moverle al codigo si no se bien bien q es lo q hace, estas manejando un archivo, en si q es un sitema de inventarios o un editor de texto, si tiene una idea de donde esta el erro entonces se un poco mas claro zaz
ya lo compile y lo corri, esas son las cosas q te digo q vi cuando le doy en abiri me saca un meno para escojer menus, si pero creo q por ahi tienes errores en tu logica :|
me pregunta es lo hisicte tu ?? si lo hiciste mas o menos dime lo q tiene q hacer y veremos en donde te puedo ayudar y por q no guarda tus modificaciones mas bien debe de haber por ahi una funcion q se llame modificar y eliminar o bajas, para sobre esa trabajar
espero ams detalles
en primera cuando lo corro me sale una ventana donde solo tiuenes un menu bar con dos menu uno q dice abrir y otro crear archivo.
unos label y textfield donde estan ciertas opcions, no mevoy aponer a moverle al codigo si no se bien bien q es lo q hace, estas manejando un archivo, en si q es un sitema de inventarios o un editor de texto, si tiene una idea de donde esta el erro entonces se un poco mas claro zaz
ya lo compile y lo corri, esas son las cosas q te digo q vi cuando le doy en abiri me saca un meno para escojer menus, si pero creo q por ahi tienes errores en tu logica :|
me pregunta es lo hisicte tu ?? si lo hiciste mas o menos dime lo q tiene q hacer y veremos en donde te puedo ayudar y por q no guarda tus modificaciones mas bien debe de haber por ahi una funcion q se llame modificar y eliminar o bajas, para sobre esa trabajar
espero ams detalles
Mira, primero que nada gracias por querer ayudarme Jengaro.
Ok. Necesito hacer un programa que al ejecutarlo, pueda dar de altas, bajas, o modificaciones en la informacion de alumnos. Las opciones del archivo, son solicitar el archivo, grabar el registro. Iniciar el archivo, (crearlo o abrirlo), una vez creado dar de alta,baja o modificaciones en (nombre y adeudo) e imprimir los datos en un campo de texto.
Ok. Necesito hacer un programa que al ejecutarlo, pueda dar de altas, bajas, o modificaciones en la informacion de alumnos. Las opciones del archivo, son solicitar el archivo, grabar el registro. Iniciar el archivo, (crearlo o abrirlo), una vez creado dar de alta,baja o modificaciones en (nombre y adeudo) e imprimir los datos en un campo de texto.