Tema: Ayuda Jtable
Ver Mensaje Individual
  #15 (permalink)  
Antiguo 25/05/2010, 10:53
RiNo_sKa
 
Fecha de Ingreso: mayo-2010
Mensajes: 20
Antigüedad: 14 años
Puntos: 0
Respuesta: Ayuda Jtable

Cita:
Iniciado por chuidiang Ver Mensaje
Mismo problema, pero con Jbutton. Tienes uno como atributo, pero lo declaras local al metodo cuando lo creas. El que añades es null.

Se bueno.

Hola chuidiang

Pues ya aparece la ventana, no genera ni un error, pero no muestra la tabla

quite las declaraciones locales, asi deje el codigo

Código:
/**
 * @(#)TablePrint.java
 *
 *
 * @author 
 * @version 1.00 2010/4/30
 */

package recomendaciones.bases_de_datos;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.print.*;
import java.text.*;
import java.util.*;
import java.util.Date;
import java.io.*;
import javax.swing.table.*;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.SQLException;
	

public class TablePrint extends JPanel {
	
	ResultSet rs;
	DefaultTableModel modelo;
	JTable table;
	JButton button;
	JScrollPane scrollPane;
			
	public TablePrint()
		{
			getDatos();			
			configura();
			muestra();				
		}	

	public void getDatos()
	{
		try
		{
			DriverManager.registerDriver(new com.mysql.jdbc.Driver());
			Connection conexion = DriverManager.getConnection("jdbc:mysql://172.29.182.95:3306/recomendaciones","root","123456");
			Statement s = conexion.createStatement();
			rs = s.executeQuery("(SELECT * FROM informe WHERE niv_risk='MEDIO'&&TO_DAYS(NOW())-TO_DAYS(fecha_inf)>=15&&fecha_seg='0000-00-00')UNION(SELECT * FROM informe WHERE niv_risk='ALTO'&&TO_DAYS(NOW())-TO_DAYS(fecha_inf)>=5&&fecha_seg='0000-00-00')UNION(SELECT * FROM informe WHERE niv_risk='BAJO'&&TO_DAYS(NOW())-TO_DAYS(fecha_inf)>=30&&fecha_seg='0000-00-00') ORDER BY niv_risk");
			carga();
		}
		catch(SQLException e)
		{
			JOptionPane.showMessageDialog(null,e.getMessage());
		}
	}	
	
	public void carga()
	{
		try
		{
			modelo = new DefaultTableModel();
			table = new JTable(modelo);
			modelo.addColumn("no_inf");
			modelo.addColumn("part_a");
			modelo.addColumn("part_b");
			modelo.addColumn("part_c");
			modelo.addColumn("part_d");
			modelo.addColumn("part_e");
			modelo.addColumn("fecha_com");
			modelo.addColumn("lugar");
			modelo.addColumn("obj_com");
			modelo.addColumn("fecha_inf");
			modelo.addColumn("resp_inf");
			modelo.addColumn("recom_a");
			modelo.addColumn("recom_b");
			modelo.addColumn("recom_c");
			modelo.addColumn("recom_d");
			modelo.addColumn("recom_e");
			modelo.addColumn("niv_risk");
			modelo.addColumn("dir_loc");
			modelo.addColumn("fecha_seg");
			while (rs.next())
			{ 
   			Object [] fila = new Object[19]; 
  			for (int i=0;i<19;i++)
     		fila[i] = rs.getObject(i+1);
  			modelo.addRow(fila); 
			}
			table.setModel(modelo);
		}
		catch (SQLException e)
		{

		}	
	}

	public void configura()
	{
		scrollPane = new JScrollPane(table);
		 button = new JButton("Imprimir");
		  ActionListener printAction = new ActionListener() {
          public void actionPerformed(ActionEvent e) {
            try {
              	MessageFormat headerFormat = new MessageFormat("Page {0}\n CNA");
              	MessageFormat footerFormat = new MessageFormat("- {0} -");
              	table.print(JTable.PrintMode.FIT_WIDTH, headerFormat, footerFormat);
            	} 
            	catch (PrinterException pe) 
            		{
             		 System.err.println("Error printing: " + pe.getMessage());
            		}
          }
        };
        button.addActionListener(printAction);	
	}
	
	public void muestra()
	{
		add(table);
		add(scrollPane, BorderLayout.CENTER);
		add(button);
	}

	public static void main(String args[]) {
		
      	TablePrint tb= new TablePrint();
      	JFrame frame = new JFrame("Table Printing");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(tb);
       	frame.pack();
        frame.setVisible(true);
  }
}
Gracias, Saludos...