aqui lo tienes
Código (java) [Seleccionar]
import java.awt.AWTEvent;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.StringTokenizer;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.Timer;
import javax.swing.WindowConstants;
import javax.swing.table.DefaultTableModel;
public class cargarTabla extends JFrame {
private static final long serialVersionUID = 1L;
private JButton botCargar;
private JTextArea areaTexto;
private JScrollPane deslizadorAreaTexto;
private JScrollPane deslizadorTablaCargada;
private JPanel panel;
private JTable tablaCargada;
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() {
botCargar = new JButton();
panel = new JPanel();
deslizadorTablaCargada = new JScrollPane();
tablaCargada = new JTable();
deslizadorAreaTexto = new JScrollPane();
areaTexto = new JTextArea();
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setTitle("Carcar Tabla");
setResizable(false);
getContentPane().setLayout(new FlowLayout());
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");
botCargar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
cargar();
}
});
panel.add(botCargar);
botCargar.setBounds(20, 10, 150, 20);
getContentPane().add(panel);
pack();
}
private void cargar(){
String mensaje="";
String [][] tablaCargada = tabla();
TiempoDeEspera tiempo = new TiempoDeEspera();
mensaje+="Cargando Tabla\n";
for(int fila=0;fila<tablaCargada.length;fila++){
mensaje+="\n";
String temp = "";
tiempo.establecer(1);
for(int columna=0;columna<tablaCargada[0].length;columna++){
mensaje+=tablaCargada[fila][columna]+" ";
temp+=tablaCargada[fila][columna]+",";
areaTexto.setText(mensaje);
}
StringTokenizer tokenizer = new StringTokenizer(temp,",");
modeloTabla.add(tokenizer.nextToken(),tokenizer.nextToken(),tokenizer.nextToken(),tokenizer.nextToken());
}
}
private String[][] tabla(){
String afnd[][]= {{"q1","q2,q3"," ","-2"},{"q2"," ","q2,q4","-2"},
{"q3","q3","q4","0"},{"q4","q4"," ","0"}};
return afnd;
}
}
class ModeloTabla extends DefaultTableModel{
private static final long serialVersionUID = 1L;
private Object[][] data;
public ModeloTabla(String[] titles,Object[][] tabla){
addColumn("Estados");
addColumn("A");
addColumn("B");
addColumn("FDC");
data=tabla;
}
public void add(String nextToken, String nextToken2, String nextToken3,
String nextToken4) {
Object object[] = {nextToken,nextToken2,nextToken3,nextToken4};
super.addRow(object);
}
public void setValueAt(Object value, int row, int col) {
if(value==null)
return;
data[row][col] = value;
fireTableDataChanged();
}
}
class TiempoDeEspera extends JDialog{
private static final long serialVersionUID = 1L;
private Timer tiempo;
public void establecer(int segundos){
tiempo = new Timer(((segundos+1)*1000),new ActionListener(){
public void actionPerformed(ActionEvent e){
dispose();
tiempo.stop();
}
});
setUndecorated(true);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
setModal(true);
tiempo.start();
repaint();
validate();
setSize(1,1);
setVisible(true);
}
}