Re: actualizar jTable2
Darkman shadows <darkman87ucr-/[email protected]>
| Newsgroups | gmane.comp.java.javaspain |
|---|---|
| Message-ID | <[email protected]> |
Osea no se como lo que quiere hacer pero es lo mismo simpre, si quiere cambiarle los datos a un JList haga esto setListData y le pasas el nuevo arreglo, si solo quiere adjuntar un elemento lo adjuntas y le indicas la posicion, la posicion seria el valor del arreglo que tiene los datos (length) que le pasaste cuando construiste el objeto y listo.............................................................. DarkMan87 La civilización no suprime la barbarie, la perfecciona. ----- Mensaje original ---- De: juan lopez <jazpiroz2006-/[email protected]> Para: [email protected] Enviado: jueves, 17 de abril, 2008 13:51:20 Asunto: Re: [javaSpain] actualizar jTable vos decis agregar un addActionListener a un boton y ahi escuchar?? yo lo hago así pero no logro actualizar, y no entiendo porque?? por favor alguien que me pueda dar una mano con esto!!1 --- El vie 11-abr-08, Darkman shadows <darkman87ucr@ yahoo.com> escribió: De: Darkman shadows <darkman87ucr@ yahoo.com> Asunto: Re: [javaSpain] actualizar jTable Para: javaSpain@yahoogrou ps.com Fecha: viernes, 11 de abril de 2008, 4:53 pm No lei todo el codigo de abajo pero me imagino que lo que quiere hacer es desplegar un JTable con informacion, normal digamos un arreglo de tipo String, que escuche algun evento al algo por el estilo y cambie la informacion en el JTable, digamos que agregue un nuevo arreglo de tipo String con nuevos valores, si es algo parecido a lo que quieres hacer espero q este codigo te sirva. declaras la variable que contendra el JList private JList jltFiguras; luego declaras el arreglo inicial que contendra el JList private static String nombreFigurasBidime nsionales[ ]={"Circulo" ,"Rectangulo" ,"Cuadrado" }; luego el segundo arreglo, el cual deseamos que se repinte en el JList al escuhar el evento private static String nombreFigurasTridim ensionales[ ]={"Cubo" ,"Cilindro" ,"Piramide" }; en el constructor llenas el JList con la info (arreglo) inicial jltFiguras = new JList (nombreFigurasBidim ensionales) ; le colocas un listener a un boton, o al elemto que deseas y dentro del metodo (Listener) haces esto jltFiguras.setListD ata(nombreFigura sTridimensionale s); esto lo que hace es que sustituye el valor que tienes en el JList y lo vuelve a "pintar" con los nuevos valores otro caso es si solo quieres agragar un nuevo elemento al JList jltFiguras.add( e , pos); el "e" es un componete o String que deseas agragar y el int pos la posicion que deseas que ocupe DarkMan87 La civilización no suprime la barbarie, la perfecciona. ----- Mensaje original ---- De: juan lopez <jazpiroz2006@ yahoo.com. ar> Para: grupo java <javaspain@yahoogrou ps.com> Enviado: martes, 8 de abril, 2008 19:53:49 Asunto: [javaSpain] actualizar jTable Hola yo devuelta, hace un tiempo pregunte por esto, y bueno desde entonces no encuentro la soluciòn a poder actualizar una tabla ya sea con un boton actualizar o automaticamente, navegar si he navegado y probado de todo estoy desesperado por esto, les pego el codigo y me cuentan como puedo lograr esto desde ya muchas gracias el tableModel: package grafica; import java.util.Vector; import javax.swing. table.AbstractTa bleModel; import logica.Clientes; import logica.Material; import logica.Proveedor; import javax.swing. table.*; import javax.swing. event.*; import java.util.*; public class TableModelProveedor es extends AbstractTableModel{ private Vector vecPro; private String [] columnas={"Có digo","Nombre" ,"Direcció n","Teléfono" ,"RUC","Contacto "}; // Constructor. Recibe los bov a mostrar en la tabla y las guarda public TableModelProveedor es(Vector cli) { vecPro = cli; } // métodos sobre-escritos heredados de AbstractTableModel // cantidad de columnas public int getColumnCount( ) { return columnas.length; } // cantidad de filas public int getRowCount( ) { return vecPro.size( ); } // nombre de columna public String getColumnName( int col) { return columnas[col] ; } // valor almacenado en una determinada posición de la tabla public Object getValueAt(int fila,int col) { switch(col) { case 0: return (((Proveedor) vecPro.get(fila) ).getCodigo( )); case 1: return ((Proveedor) vecPro.get(fila) ).getNombre( ); case 2: return ((Proveedor) vecPro.get(fila) ).getDireccion( ); case 3: return ((Proveedor) vecPro.get(fila) ).getTelefono( ); case 4: return ((Proveedor) vecPro.get(fila) ).getRuc( ); case 5: return ((Proveedor) vecPro.get(fila) ).getContacto( ); default: return null; //TableModelEvent evento = new TableModelEvent (this,fila , fila); // ... y pasándoselo a los suscriptores. //avisaSuscriptores (evento); } } public int getCodAt(int fila){ int codigo = ((Proveedor) vecPro.get(fila) ).getCodigo( ); return codigo; //Avisa a los suscriptores del cambio, creando un TableModelEvent ... } /** Lista con los datos. Cada elemento de la lista es una instancia de * Persona */ /** Lista de suscriptores. El JTable será un suscriptor de este modelo de * datos */ private LinkedList listeners = new LinkedList() ; public void addTableModelListen er(TableModelLis tener l) { // Añade el suscriptor a la lista de suscriptores listeners.add (l); } public void removeTableModelLis tener(TableModel Listener l) { // Elimina los suscriptores. listeners.remove( l); } // que las celdas no sean editables public boolean isCellEditable( int fila,int col) { return false; } private void avisaSuscriptores (TableModelEvent evento) { int i; // Bucle para todos los suscriptores en la lista, se llama al metodo // tableChanged( ) de los mismos, pasándole el evento. for (i=0; i<vecPro.size( ); i++) ((TableModelListene r)listeners. get(i)).tableCha nged(evento) ; } /*********** ***** actualizar() ************ ********* ***/ public Vector actualizar(Vector CC ) { // Ejecutar la consulta vecPro=CC; fireTableStructureC hanged(); // Ordena a la JTable que se actualice return vecPro; } } y la ventana donde genero la tabla: package grafica; import java.awt.BorderLayo ut; import java.awt.event. ActionEvent; import java.awt.event. ActionListener; import java.util.Iterator; import java.util.Vector; import javax.swing. ImageIcon; import javax.swing. JButton; import javax.swing. JFrame; import javax.swing. JOptionPane; import javax.swing. JPanel; import javax.swing. JScrollPane; import javax.swing. JTable; import javax.swing. ListSelectionMod el; import javax.swing. WindowConstants; import javax.swing. event.ListSelect ionEvent; import javax.swing. event.ListSelect ionListener; import javax.swing. table.TableColum n; import persistencia. ConexionSingleto nFirebird; import java.sql.Connection ; import java.util.*; import net.sf.jasperreport s.engine. JasperFillManage r; import net.sf.jasperreport s.engine. JasperPrint; import net.sf.jasperreport s.view.JasperVie wer; import logica.ColClientes; import logica.Clientes; import logica.Facade; import logica.Material; import logica.Proveedor; /** * This code was edited or generated using CloudGarden' s Jigloo * SWT/Swing GUI Builder, which is free for non-commercial * use. If Jigloo is being used commercially (ie, by a corporation, * company or business for any purpose whatever) then you * should purchase a license for each developer using Jigloo. * Please visit www.cloudgarden. com for details. * Use of Jigloo implies acceptance of these licensing terms. * A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR * THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED * LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE. */ public class VentanaListadoProve edores extends javax.swing. JFrame implements ListSelectionListen er, ActionListener { private JPanel jPanel1; private JPanel lista; Vector vecBanco; private JButton jButtonActualiza; private JButton jButtonModifica; private JButton jButtonSalir; private JButton jButtonEliminar; private JButton jButtonAgregar; ListSelectionModel mod; JTable tabla; TableModelProveedor es modelo; JButton boton; JFrame frame; Facade log; public int codigo; /** * Auto-generated main method to display this JFrame */ public static void main(String[ ] args) { VentanaListadoProve edores inst = new VentanaListadoProve edores(); inst.setVisible( true); } public VentanaListadoProve edores() { super(); initGUI(); } private void initGUI() { try { setDefaultCloseOper ation(WindowCons tants.DISPOSE_ ON_CLOSE) ; this.setLocation( new java.awt.Point( 80, 70)); this.setTitle( "Listado de Proveedores" ); { jPanel1 = new JPanel(); getContentPane( ).add(jPanel1, BorderLayout. CENTER); jPanel1.setLayout( null); jPanel1.setPreferre dSize(new java.awt.Dimension( 588, 308)); { lista = new JPanel(); jPanel1.add( lista); lista.setBounds( 21, 7, 833, 406); lista.setLayout( null); } { jButtonAgregar = new JButton(); jPanel1.add( jButtonAgregar) ; jButtonAgregar. addActionListene r(this); jButtonAgregar. setText(" Nuevo"); jButtonAgregar. setBounds( 28, 420, 105, 28); //jButtonAgregar. setIcon(new ImageIcon(getClass( ).getClassLoader ().getResource( "grafica/ imagenes/ bt_Nuevo. jpg"))); } { jButtonEliminar = new JButton(); jPanel1.add( jButtonEliminar) ; jButtonEliminar.. addActionListene r(this); jButtonEliminar. setText(" Eliminar" ); jButtonEliminar. setBounds( 273, 420, 112, 28); //jButtonEliminar. setIcon(new ImageIcon(getClass( ).getClassLoader ().getResource( "grafica/ imagenes/ bt_Eliminar. jpg"))); } { jButtonSalir = new JButton(); jPanel1.add( jButtonSalir) ; jButtonSalir. addActionListene r(this); jButtonSalir. setText(" Salir"); jButtonSalir. setBounds( 756, 420, 98, 28); //jButtonSalir. setIcon(new ImageIcon(getClass( ).getClassLoader ().getResource( "grafica/ imagenes/ btnSalir. jpg"))); } { jButtonModifica = new JButton(); jPanel1.add( jButtonModifica) ; jButtonModifica. addActionListene r(this); jButtonModifica. setText(" Modifica" ); jButtonModifica. setBounds( 147, 420, 112, 28); //jButtonModifica. setIcon(new ImageIcon(getClass( ).getClassLoader ().getResource( "grafica/ imagenes/ bt_Editar. jpg"))); } { jButtonActualiza = new JButton(); jPanel1.add( jButtonActualiza ); jButtonActualiza. setText(" Actualiza Listado"); jButtonActualiza. addActionListene r(this); jButtonActualiza. setBounds( 406, 420, 126, 28); } try{ log = new Facade(0); Iterator itera = log.listarProv( 0); vecBanco = new Vector(); while(itera. hasNext() ){ Proveedor cli = (Proveedor)itera. next(); vecBanco.addElement (cli);//el table model recibe un vector, no un iterator } }catch(Exception ex){ JOptionPane. showMessageDialo g(this,ex. getMessage( ),"Error" ,JOptionPane.. ERROR_MESSAGE) ; } modelo = new TableModelProveedor es(vecBanco) ; tabla = new JTable(modelo) ; tabla.setSelectionM ode(ListSelectio nModel.SINGLE_ SELECTION) ; mod = tabla.getSelectionM odel(); mod.addListSelectio nListener( this); //parte grafica JScrollPane scrollPane = new JScrollPane( tabla); lista.add(scrollPan e); scrollPane.setBound s(7, 7, 826, 385); setPreferredWidth( ); } pack(); this.setSize( 867, 493); } catch (Exception e) { e.printStackTrace( ); } } public void setPreferredWidth( ){ TableColumn columna = null; for(int i = 0; i<modelo.getColumnCou nt(); i++){ columna = tabla.getColumnMode l().getColumn( i); if(i==0){ columna.setPreferre dWidth(70) ; }if(i==1){ columna.setPreferre dWidth(140) ; } } } public void valueChanged( ListSelectionEve nt e){ if(e.getValueIsAdju sting()) return; if( e.getSource( ) == tabla.getSelectionM odel()){ // obtener el data model TableModelProveedor es model = (TableModelProveedo res)tabla. getModel( ); // Determinar el selected item int row = tabla.getSelectedRo w(); codigo = model.getCodAt( row); } } public void actionPerformed( ActionEvent e) { if(e.getSource( )== jButtonSalir) { dispose(); } if(e.getSource( )== jButtonAgregar) { IngresoProveedor ins = new IngresoProveedor( ); ins.setVisible( true); } if(e.getSource( )== jButtonEliminar) { //AvisoEliminaMater ial ins = new AvisoEliminaMateria l(codigo) ; //ins.setVisible( true); } if(e.getSource( )== jButtonActualiza) { try{ log = new Facade(0); Iterator itera = log.listarMateriale s(0); vecBanco = new Vector(); while(itera. hasNext() ){ Material cli = (Material)itera. next(); vecBanco.addElement (cli);//el table model recibe un vector, no un iterator } }catch(Exception ex){ JOptionPane. showMessageDialo g(this,ex. getMessage( ),"Error" ,JOptionPane. ERROR_MESSAGE) ; } //modelo = new TableModelMateriale s(vecBanco) ; tabla = new JTable(modelo) ; //tabla.setSelectio nMode(ListSelect ionModel. SINGLE_SELECTION ); //mod = tabla.getSelectionM odel(); //mod.addListSelect ionListener( this); //parte grafica JScrollPane scrollPane = new JScrollPane( tabla); lista.add(scrollPan e); scrollPane.setBound s(7, 7, 826, 385); } if(e.getSource( )==jButtonModifi ca ){ //ModificaMaterial ins = new ModificaMaterial( codigo); //ins.setVisible( true); } } } desde ya muchas gracias Tarjeta de crédito Yahoo! de Banco Supervielle. Solicitá tu nueva Tarjeta de crédito. De tu PC directo a tu casa. Visitá www.tuprimeratarjet a.com.ar ¡Capacidad ilimitada de almacenamiento en tu correo! No te preocupes más por el espacio de tu cuenta con Correo Yahoo!: http://correo. espanol.yahoo. com/ Yahoo! Encuentros Ahora encontrar pareja es mucho más fácil, probá el nuevo Yahoo! Encuentros. Visitá http://yahoo. cupidovirtual. com/servlet/ NewRegistration ____________________________________________________________________________________ Yahoo! Deportes Beta ¡No te pierdas lo último sobre el torneo clausura 2008! Entérate aquí http://deportes.yahoo.com