Actualizar JTable
Publicado por Fernando (1 intervención) el 24/03/2007 05:01:26
Tengo este fragmento de codigo:
private JScrollPane getJtableListar() {
try {
String[] columnNames = {"Registro", "Concepto", "Padron", "Vale", "Importe", "Van cuotas", "De cuotas", "Tasa 1", "Cédula func.", "Cargo IMM", "Año liquidación", "Mes liquidación", "Tasa 2"};
Object[][] data = new Object[10000][13];
String dato = new String();
DataInputStream in = new DataInputStream(new FileInputStream("c:/sgh/nombre.txt"));
DefaultTableModel modelo = new DefaultTableModel(columnNames, 10000);
int i = 0;
while((dato = in.readLine()) != null) {
//Ingresa registro
modelo.setValueAt(dato.substring(2, 5).replace(" ", ""), i, 0);
modelo.fireTableDataChanged();
//Ingresa concepto
modelo.setValueAt(dato.substring(5, 9).replace(" ", ""), i, 1);
modelo.fireTableDataChanged();
//Ingresa padron
modelo.setValueAt(dato.substring(9, 15).replace(" ", ""), i, 2);
modelo.fireTableDataChanged();
//Ingresa vale
modelo.setValueAt(dato.substring(15, 21).replace(" ", ""), i, 3);
modelo.fireTableDataChanged();
//Ingresa importe
//data[i][4] = dato.substring(21, 27).replace(" ", "");
String importe = dato.substring(21, 27).replace(" ", "");
modelo.fireTableDataChanged();
//Ingresa decimales importe
importe = importe + "," + dato.substring(27, 29);
modelo.setValueAt(importe, i, 4);
modelo.fireTableDataChanged();
//Ingresa van cuotas
modelo.setValueAt(dato.substring(29, 31).replace(" ", ""), i, 5);
modelo.fireTableDataChanged();
//Ingresa de cuotas
modelo.setValueAt(dato.substring(31, 33).replace(" ", ""), i, 6);
modelo.fireTableDataChanged();
//Ingresa tasa 1
//data[i][7] = dato.substring(33, 38).replace(" ", "");
String tasa1 = dato.substring(33, 36).replace(" ", "");
//Ingresar decimales tasa 1
tasa1 = tasa1 + "," + dato.substring(36, 38);
modelo.setValueAt(tasa1, i, 7);
modelo.fireTableDataChanged();
//Ingresa cedula func
modelo.setValueAt(dato.substring(39, 47).replace(" ", ""), i, 8);
modelo.fireTableDataChanged();
//Ingresa cargo IMM
modelo.setValueAt(dato.substring(48, 49).replace(" ", ""), i, 9);
modelo.fireTableDataChanged();
//Ingresa año liquidacion
modelo.setValueAt(dato.substring(49, 53).replace(" ", ""), i, 10);
modelo.fireTableDataChanged();
//Ingresa mes liquidacion
modelo.setValueAt(dato.substring(53, 55).replace(" ", ""), i, 11);
modelo.fireTableDataChanged();
//Ingresa tasa 2
//data[i][12] = dato.substring(55, 60).replace(" ", "");
String tasa2 = dato.substring(55, 58).replace(" ", "");
//Ingresar decimales tasa 2
tasa2 = tasa2 + "," + dato.substring(58, 60);
modelo.setValueAt(tasa2, i, 12);
modelo.fireTableDataChanged();
i++;
}
//jtableListar = new JTable(data, columnNames);
jtableListar = new JTable();
jtableListar.setModel(modelo);
JScrollPane jspane = new JScrollPane(jtableListar);
return jspane;
}
catch(IOException e){}
return null;
}
Cada vez que voy a un menu listar me muestra los datos que carga de un archivo txt. Pero cuando agrego nuevos datos voy a listar y no me actualiza los datos, o sea no me carga los datos del archivo junto con los datos que ingrese.
Como puedo actualizar la lista cada vez que agregue nuevos datos, cada vez que doy en el menu listar?
Gracias
private JScrollPane getJtableListar() {
try {
String[] columnNames = {"Registro", "Concepto", "Padron", "Vale", "Importe", "Van cuotas", "De cuotas", "Tasa 1", "Cédula func.", "Cargo IMM", "Año liquidación", "Mes liquidación", "Tasa 2"};
Object[][] data = new Object[10000][13];
String dato = new String();
DataInputStream in = new DataInputStream(new FileInputStream("c:/sgh/nombre.txt"));
DefaultTableModel modelo = new DefaultTableModel(columnNames, 10000);
int i = 0;
while((dato = in.readLine()) != null) {
//Ingresa registro
modelo.setValueAt(dato.substring(2, 5).replace(" ", ""), i, 0);
modelo.fireTableDataChanged();
//Ingresa concepto
modelo.setValueAt(dato.substring(5, 9).replace(" ", ""), i, 1);
modelo.fireTableDataChanged();
//Ingresa padron
modelo.setValueAt(dato.substring(9, 15).replace(" ", ""), i, 2);
modelo.fireTableDataChanged();
//Ingresa vale
modelo.setValueAt(dato.substring(15, 21).replace(" ", ""), i, 3);
modelo.fireTableDataChanged();
//Ingresa importe
//data[i][4] = dato.substring(21, 27).replace(" ", "");
String importe = dato.substring(21, 27).replace(" ", "");
modelo.fireTableDataChanged();
//Ingresa decimales importe
importe = importe + "," + dato.substring(27, 29);
modelo.setValueAt(importe, i, 4);
modelo.fireTableDataChanged();
//Ingresa van cuotas
modelo.setValueAt(dato.substring(29, 31).replace(" ", ""), i, 5);
modelo.fireTableDataChanged();
//Ingresa de cuotas
modelo.setValueAt(dato.substring(31, 33).replace(" ", ""), i, 6);
modelo.fireTableDataChanged();
//Ingresa tasa 1
//data[i][7] = dato.substring(33, 38).replace(" ", "");
String tasa1 = dato.substring(33, 36).replace(" ", "");
//Ingresar decimales tasa 1
tasa1 = tasa1 + "," + dato.substring(36, 38);
modelo.setValueAt(tasa1, i, 7);
modelo.fireTableDataChanged();
//Ingresa cedula func
modelo.setValueAt(dato.substring(39, 47).replace(" ", ""), i, 8);
modelo.fireTableDataChanged();
//Ingresa cargo IMM
modelo.setValueAt(dato.substring(48, 49).replace(" ", ""), i, 9);
modelo.fireTableDataChanged();
//Ingresa año liquidacion
modelo.setValueAt(dato.substring(49, 53).replace(" ", ""), i, 10);
modelo.fireTableDataChanged();
//Ingresa mes liquidacion
modelo.setValueAt(dato.substring(53, 55).replace(" ", ""), i, 11);
modelo.fireTableDataChanged();
//Ingresa tasa 2
//data[i][12] = dato.substring(55, 60).replace(" ", "");
String tasa2 = dato.substring(55, 58).replace(" ", "");
//Ingresar decimales tasa 2
tasa2 = tasa2 + "," + dato.substring(58, 60);
modelo.setValueAt(tasa2, i, 12);
modelo.fireTableDataChanged();
i++;
}
//jtableListar = new JTable(data, columnNames);
jtableListar = new JTable();
jtableListar.setModel(modelo);
JScrollPane jspane = new JScrollPane(jtableListar);
return jspane;
}
catch(IOException e){}
return null;
}
Cada vez que voy a un menu listar me muestra los datos que carga de un archivo txt. Pero cuando agrego nuevos datos voy a listar y no me actualiza los datos, o sea no me carga los datos del archivo junto con los datos que ingrese.
Como puedo actualizar la lista cada vez que agregue nuevos datos, cada vez que doy en el menu listar?
Gracias
Valora esta pregunta


0