Hola, estoy haciendo una aplicacion en la que debo de cargar una tabla pero esta de debe mostrar como se van cargando cada fila, asi que lo estoy intentando hacer con timer, quiero que el proceso que me hace en el jtextarea me lo haga en mi jtable pero nada mas no
, si alguien pudiera ayudarme se lo agradeceria.
Aqui el code
package tabla;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JButton;
import javax.swing.JScrollPane;
import javax.swing.JTable;
//import javax.swing.table.DefaultTableModel;
import java.awt.FlowLayout;
import java.awt.Dimension;
import javax.swing.table.AbstractTableModel;
import java.awt.AWTEvent;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JDialog;
import javax.swing.Timer;
import javax.swing.WindowConstants;
import javax.swing.JFrame;
public class cargarTabla
extends JFrame {
private ModeloTabla modeloTabla;
public static void main
(String args
[]) { cargarTabla cT = new cargarTabla();
cT.setLocationRelativeTo(null);
cT.setVisible(true);
}
public cargarTabla() {
iniciarInterfaz();
}
private void iniciarInterfaz() {
setTitle("Carcar Tabla");
setResizable(false);
panel.
setPreferredSize(new Dimension(660,
370)); panel.setLayout(null);
modeloTabla
=new ModeloTabla
(new String[0],
new Object[0][0]); tablaCargada
= new JTable(modeloTabla
); deslizadorTablaCargada.setViewportView(tablaCargada);
panel.add(deslizadorTablaCargada);
deslizadorTablaCargada.setBounds(20, 50, 300, 300);
areaTexto.setColumns(20);
areaTexto.setEditable(false);
areaTexto.setRows(5);
deslizadorAreaTexto.setViewportView(areaTexto);
panel.add(deslizadorAreaTexto);
deslizadorAreaTexto.setBounds(340, 50, 300, 300);
botCargar.setText("Cargar");
cargar();
}
});
panel.add(botCargar);
botCargar.setBounds(20, 10, 150, 20);
getContentPane().add(panel);
pack();
}
private void cargar(){
String [][] tablaCargada
= tabla
(); TiempoDeEspera tiempo = new TiempoDeEspera();
mensaje+="Cargando Tabla\n";
for(int fila=0;fila<tablaCargada.length;fila++){
mensaje+="\n";
tiempo.establecer(1);
for(int columna=0;columna<tablaCargada[0].length;columna++){
mensaje+=tablaCargada[fila][columna]+" ";
areaTexto.setText(mensaje);
}
}
modeloTabla.
setNewTableData(new String[tablaCargada
[0].
length], tablaCargada
);
}
String afnd
[][]= {{"Estados",
"a",
"b",
"FDC"},
{"q1","q2,q3","","-2"},
{"q2","","q2,q4","-2"},
{"q3","q3","q4","0"},
{"q4","q4","","0"}};
return afnd;
}
}
private static final long serialVersionUID = 1L;
columnNames=titles;
data=tabla;
}
public void setNewTableData
(String[] titles,
Object[][] tabla
){ columnNames=titles;
data=tabla;
fireTableStructureChanged();
}
public String getColumnName
(int columna
) { return columnNames[columna];
}
public void setValueAt
(Object value,
int row,
int col
) { if(value==null)
return;
data[row][col] = value;
fireTableDataChanged();
}
public int getColumnCount() {
return columnNames.length;
}
public int getRowCount() {
return data.length;
}
public Object getValueAt
(int fila,
int columna
) { return data[fila][columna];
}
}
class TiempoDeEspera
extends JDialog{
private static final long serialVersionUID = 1L;
public void establecer(int segundos){
dispose();
tiempo.stop();
}
});
setUndecorated(true);
enableEvents
(AWTEvent.
WINDOW_EVENT_MASK); setModal(true);
tiempo.start();
repaint();
validate();
setSize(1,1);
setVisible(true);
}
}