Autor
|
Tema: [SOLUCIONADO]Cargar JTable con Timer (Leído 4,494 veces)
|
1mpuls0
Desconectado
Mensajes: 1.186
|
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); } }
|
|
« Última modificación: 19 Agosto 2010, 07:43 am por LEYER »
|
En línea
|
abc
|
|
|
Leyer
Desconectado
Mensajes: 786
leyer@elhacker.net
|
aqui lo tienes 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 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]+" "; temp+=tablaCargada[fila][columna]+","; areaTexto.setText(mensaje); } modeloTabla.add(tokenizer.nextToken(),tokenizer.nextToken(),tokenizer.nextToken(),tokenizer.nextToken()); } } String afnd [][]= {{"q1", "q2,q3", " ", "-2"}, {"q2", " ", "q2,q4", "-2"}, {"q3","q3","q4","0"},{"q4","q4"," ","0"}}; return afnd; } } private static final long serialVersionUID = 1L; addColumn("Estados"); addColumn("A"); addColumn("B"); addColumn("FDC"); data=tabla; } 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; 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); } }
|
|
|
En línea
|
|
|
|
1mpuls0
Desconectado
Mensajes: 1.186
|
:¬¬tsss que tonto soy, estaba usando AbstractTableModel en vez de DefaultTableModel. Gracias Saludos PD. Abra alguna forma de tener mas pequeña la clase TiempoDeEspera ?? o algo que haga lo mismo, es que siento que es mucho code para lo que hace.
|
|
|
En línea
|
abc
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
quitar filas de un jtable(SOLUCIONADO)
Java
|
basickdagger
|
1
|
8,823
|
27 Marzo 2011, 20:02 pm
por basickdagger
|
|
|
[solucionado]Ayuda a la hora de introducir datos en un jtable
Java
|
juni85
|
2
|
4,255
|
28 Octubre 2011, 11:03 am
por juni85
|
|
|
{SOLUCIONADO} JTable me repite datos de un ResultSet {SOLUCIONADO}
Java
|
|Miguel|
|
4
|
6,513
|
3 Marzo 2012, 19:26 pm
por Proteus1989
|
|
|
[SOLUCIONADO] TimeSpan o Timer?
.NET (C#, VB.NET, ASP)
|
Eleкtro
|
4
|
3,722
|
23 Marzo 2013, 23:08 pm
por Eleкtro
|
|
|
Rellenar Jtable y actualizarla con un timer.
Java
|
viruzexe
|
3
|
4,188
|
14 Diciembre 2013, 20:42 pm
por viruzexe
|
|