Java - Necesito ayuda en mi Jtable y archivo txt

 
Vista:
sin imagen de perfil

Necesito ayuda en mi Jtable y archivo txt

Publicado por jorge (2 intervenciones) el 19/06/2014 23:29:48
¿como puedo hacer q mi jframe muestre mis datos ingresados en mis textfield aparezcan en mi jtable y se quedan grabados en un archivo .txt ?
Necesito que mi FrProductos haga que mis datos ingresados en texfields se queden grabados en el jtable y tambien se queden guardados en un archivo .txt y que al volverlo a abrir en otra ocasión, los datos de mi archivo .txt aparezcan por si solos gracias :D espero que puedan ayudarme. Gracias
___________________________________________________________________________________________

package proyecto;
import java.io.*;
import java.text.DecimalFormat;
import java.util.StringTokenizer;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;


public class FrProductos extends javax.swing.JFrame {
DefaultTableModel Modelo;
Productos p;
Productos [] Lista;
String producto, codigo;
double precio;
int cantidad;
String []cabecera={"N°","Producto","Cantidad","Precio","Codigo" };
String [][]data={} ;
int num, n;
public FrProductos() {
initComponents();
this.setLocationRelativeTo(null);
Lista= new Productos[100];
Modelo= new DefaultTableModel(data,cabecera);
jTblMostrar.setModel(Modelo);
n=0;

}

void Campo(Productos p){
DecimalFormat d= new DecimalFormat("##.00");
String v=d.format(p.precio);
Object [] fila={n+1,p.producto,p.cantidad,p.precio,p.codigo};
Modelo.addRow(fila);
}

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

producto=jTxtProducto.getText().trim();
cantidad=Integer.parseInt(jTxtCantidad.getText().trim());
precio=Double.parseDouble(jTxtPrecio.getText().trim());
codigo=jTxtCodigo.getText().trim();
p= new Productos(producto, cantidad, precio, codigo);

Lista[n]=p;
Campo(p);
try
{
FileWriter x=new FileWriter("C:/Jorge/Productos.txt",true);
PrintWriter y=new PrintWriter(x);
y.println("N°"+Lista[n].producto+","+Lista[n].cantidad+","+Lista[n].precio+","+Lista[n].codigo+"\n");
y.close();

}
catch(Exception z)
{
JOptionPane.showMessageDialog(null,"Error: "+z);
}

n++;
}


private void jBtnEliminarActionPerformed(java.awt.event.ActionEvent evt) {
int filaseleccionada= jTblMostrar.getSelectedRow();
if (filaseleccionada>=0){
Modelo.removeRow(filaseleccionada);
}
else {
JOptionPane.showMessageDialog(null, "Tabla vacia o no selecciono fila");
}
}

private void formWindowOpened(java.awt.event.WindowEvent evt) {
try
{
FileReader a= new FileReader("C:/Jorge/Productos.txt");
BufferedReader b= new BufferedReader(a);
String linea=b.readLine();
while (linea != null)
{
StringTokenizer st= new StringTokenizer(linea, ",");

producto=st.nextToken();
cantidad=Integer.parseInt(st.nextToken());
precio=Double.parseDouble(st.nextToken());
codigo=st.nextToken();
Lista[n]=p;
Campo(p);
n++;
linea=b.readLine();
}
b.close();
}

catch(Exception ex)
{
JOptionPane.showMessageDialog(null,"Error\t: " +ex);
}
}


// Variables declaration - do not modify
private javax.swing.JButton jBtnEliminar;
private javax.swing.JButton jBtnGrabar;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel2;
private javax.swing.JPanel jPanel3;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTblMostrar;
private javax.swing.JTextField jTxtCantidad;
private javax.swing.JTextField jTxtCodigo;
private javax.swing.JTextField jTxtPrecio;
private javax.swing.JTextField jTxtProducto;
// End of variables declaration
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder