![]() |
Añadir Una Tabla A Un Jscrollpane Mediante Eventos :-) Hola, la situacion es la siguiente: Tengo un JFrame creado con un JScrollPane y dos botones, lo que quiero es que uno de los botones al ser pulsado cree una tabla y la inserte dentro del JScrollPane y el otro botón que cada vez que sea pulsado añada una columna a la tabla ya existente dentro del JScrollPane. Mi problema surge al utilizar los eventos que unen el boton y el ScrollPane, ya que no se si se mandan bien o se reciben bien. Tampoco se muy bien como manejar la tabla que esta dentro del ScrollPane y no se si se deben crear unos objetos nuevos o recargar/pintar unos objetos nuevos. Muchas Gracias...:-) |
Re: Añadir Una Tabla A Un Jscrollpane Mediante Eventos Hola: En tu clase pon todos los elementos como atributos de la clase, para tenerlos accesibles en cualquier sitio Código: class TuClase extends JFrameCódigo: b1.addActionListener (new ActionListener() {Se bueno. |
Re: Añadir Una Tabla A Un Jscrollpane Mediante Eventos Hola chuidiang, muchas gracias por ayudarme, pero sigue sin funcionar..... aquí te dejo el código, los botones siguen sin hacer caso a los eventos... /* * NuevoJFrame.java * * Created on 31 de mayo de 2007, 18:54 */ import javax.swing.*; import javax.swing.table.DefaultTableModel; import java.awt.event.*; import javax.swing.JScrollPane; import javax.swing.JTable; /** * * @author Pablo Paunero */ public class NuevoJFrame extends javax.swing.JFrame { JTable t = null; DefaultTableModel modelo = new DefaultTableModel(); /** Creates new form NuevoJFrame */ public NuevoJFrame() { initComponents(); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc=" Código Generado "> private void initComponents() { s = new javax.swing.JScrollPane(); jButton1 = new javax.swing.JButton(); jButton2 = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstan ts.EXIT_ON_CLOSE); jButton1.setText("Crear tabla"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); jButton2.setText("A\u00f1adir compas"); org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(org.jdesktop.layout.Gro upLayout.LEADING) .add(layout.createSequentialGroup() .add(layout.createParallelGroup(org.jdesktop.layou t.GroupLayout.LEADING) .add(layout.createSequentialGroup() .add(97, 97, 97) .add(s, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 197, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)) .add(layout.createSequentialGroup() .add(115, 115, 115) .add(jButton1) .add(18, 18, 18) .add(jButton2))) .addContainerGap(77, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(org.jdesktop.layout.Gro upLayout.LEADING) .add(layout.createSequentialGroup() .add(32, 32, 32) .add(s, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 100, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE) .add(33, 33, 33) .add(layout.createParallelGroup(org.jdesktop.layou t.GroupLayout.BASELINE) .add(jButton1) .add(jButton2)) .addContainerGap()) ); pack(); }// </editor-fold> private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: if (t == null) { t=new JTable(modelo); s.setViewportView(t); } } /** * @param args the command line arguments */ public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new NuevoJFrame().setVisible(true); } }); } // Declaración de variables - no modificar private javax.swing.JButton jButton1; private javax.swing.JButton jButton2; private javax.swing.JScrollPane s; // Fin de declaración de variables } P.D: Utilizo netbeans, puede que tenga algo mal configurado??? Muchas Gracias |
Re: Añadir Una Tabla A Un Jscrollpane Mediante Eventos Hola: Prueba a llamar al método updateUI() del panel/ventana que contiene la tabla después de haberla añadido. Si la ventana está visible y se le añaden componentes nuevos -en tu caso el JTable-, es posible que no se visualicen hasta que se llame al método updateUI() Se bueno. |
| La zona horaria es GMT -6. Ahora son las 08:22. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.