Tema: Ayuda Jtable
Ver Mensaje Individual
  #11 (permalink)  
Antiguo 24/05/2010, 11:27
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
Pon el código con la llamada a getDatos(), y la excepción exacta con el número de línea.

Se bueno.
Hola Chuidiang:

Este es el código que tengo al momento

Código:
1   /**
2   * @(#)TablePrint.java
3   *
4   *
5   * @author 
6   * @version 1.00 2010/4/30
7   */
8 
9   package recomendaciones.bases_de_datos;
10  import javax.swing.*;
11  import java.awt.*;
12  import java.awt.event.*;
13  import java.awt.print.*;
14  import java.text.*;
15  import java.util.*;
16  import java.util.Date;
17  import java.io.*;
18  import javax.swing.table.*;
19  import javax.swing.JTable;
20  import javax.swing.table.DefaultTableModel;
21  import java.sql.Connection;
22  import java.sql.DriverManager;
23  import java.sql.SQLException;
24  import java.sql.PreparedStatement;
25  import java.sql.ResultSet;
26  import java.sql.Statement;
27  import java.sql.SQLException;
28 	
29 
30  public class TablePrint extends JPanel {
31	
32  	ResultSet rs;
33	DefaultTableModel modelo;
34	JTable table;
35	JButton button;
36	JScrollPane scrollPane;
37			
38	public TablePrint()
39		{
40			getDatos();			
41			configura();
42			muestra();				
43		}	
44
45	public void getDatos()
46	{
47		try
48		{
49			DriverManager.registerDriver(new com.mysql.jdbc.Driver());
50			Connection conexion = DriverManager.getConnection("jdbc:mysql://172.29.182.95:3306/recomendaciones","root","123456");
51			Statement s = conexion.createStatement();
52			ResultSet 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");
53			carga();
54		}
55		catch(SQLException e)
56		{
57		       JOptionPane.showMessageDialog(null,e.getMessage());	
58		}
59	}	
60	
61	public void carga()
62	{
63		try
64		{
65			DefaultTableModel modelo = new DefaultTableModel();
66			JTable table = new JTable(modelo);
67			modelo.addColumn("no_inf");
68			modelo.addColumn("part_a");
69			modelo.addColumn("part_b");
70			modelo.addColumn("part_c");
71			modelo.addColumn("part_d");
72			modelo.addColumn("part_e");
73			modelo.addColumn("fecha_com");
74			modelo.addColumn("lugar");
75			modelo.addColumn("obj_com");
76			modelo.addColumn("fecha_inf");
77			modelo.addColumn("resp_inf");
78			modelo.addColumn("recom_a");
79			modelo.addColumn("recom_b");
80			modelo.addColumn("recom_c");
81			modelo.addColumn("recom_d");
82			modelo.addColumn("recom_e");
83			modelo.addColumn("niv_risk");
84			modelo.addColumn("dir_loc");
85			modelo.addColumn("fecha_seg");
86			while (rs.next())
87			{ 
88   				Object [] fila = new Object[19]; 
89  				for (int i=0;i<19;i++)
90	     			fila[i] = rs.getObject(i+1);
91  				modelo.addRow(fila); 
92			}
93			table.setModel(modelo);
94		}
95		catch (SQLException e)
96		{
97			
98		}	
99	}
100
101	public void configura()
102	{
103		  JButton button = new JButton("Imprimir");
104		  ActionListener printAction = new ActionListener() {
105	          public void actionPerformed(ActionEvent e) {
106            try {
107              	MessageFormat headerFormat = new MessageFormat("Page {0}\n CNA");
108              	MessageFormat footerFormat = new MessageFormat("- {0} -");
109              	table.print(JTable.PrintMode.FIT_WIDTH, headerFormat, footerFormat);
110	            } 
111           	catch (PrinterException pe) 
112   		{
113            		 System.err.println("Error printing: " + pe.getMessage());
114    		}
115          }
116        };
117        button.addActionListener(printAction);	
118	}
119	
120	public void muestra()
121	{
122		setLayout(new GridLayout(0,1));
123		add(table);
124		add(button);
125	}
126
127	public static void main(String args[]) {
128		
129      	TablePrint tb= new TablePrint();
130      	JFrame frame = new JFrame("Table Printing");
131	        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
132	        frame.getContentPane().add(tb);
133	        frame.setSize(600, 300);
134	        frame.setVisible(true);
135    }
136  }
Y este es el error que me sale:

Código:
--------------------Configuration: <Default>--------------------
Exception in thread "main" java.lang.NullPointerException
    at recomendaciones.bases_de_datos.TablePrint.carga(TablePrint.java:86)
    at recomendaciones.bases_de_datos.TablePrint.getDatos(TablePrint.java:53)
    at recomendaciones.bases_de_datos.TablePrint.<init>(TablePrint.java:40)
    at recomendaciones.bases_de_datos.TablePrint.main(TablePrint.java:129)

Process completed.
Gracias por la ayuda

Saludos...

Última edición por RiNo_sKa; 24/05/2010 a las 11:57