ho modificato il sorgente creando l'oggetto tabella nel main e dichiarando static i vettori rows e cols ed ora non mi da errori in compilazione, il problema è che mi si apre il frame senza niente dentro
codice:import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.awt.Color.*; import java.net.*; import java.sql.*; import java.util.*; public class struttura extends JFrame { private static JPanel tasti; private static JTextArea tabella; private static Vector cols, rows; public static void main(String[] args) { JFrame f = new JFrame(); Container cont = f.getContentPane(); tasti = new JPanel(); connettiAlDb(); JTable tabella = new JTable(rows, cols); tasti = new JPanel(); tasti.setLayout(new BorderLayout()); tasti.add(tabella, BorderLayout.NORTH); cont.add(tasti); f.pack(); f.setDefaultCloseOperation(EXIT_ON_CLOSE); f.show(); } public static void connettiAlDb() { try { Class.forName("com.mysql.jdbc.Driver").newInstance(); } catch (Exception E) { System.err.println("Impossibile caricare il driver"); E.printStackTrace(); } try { System.out.println("Connessione..."); Connection c = DriverManager.getConnection("jdbc:mysql://localhost/edicola?user=ilc0rv0"); System.out.println("Connesso: " + c); Statement stmt = c.createStatement(); ResultSet res = stmt.executeQuery("SELECT * FROM quotidiani"); //---------------------------------------------------------- Vector cols = new Vector(); cols.addElement("testata"); cols.addElement("pr netto"); Vector rows = new Vector(); while (res.next()) { Vector vett = new Vector(); vett.addElement(res.getString("testata")); vett.addElement(res.getString("pr_netto")); rows.addElement(vett); } //--------------------------------------------------------------- } catch (SQLException E) { System.out.println ("SQLException: " + E.getMessage()); System.out.println ("SQLState: " + E.getSQLState()); System.out.println ("VendorError: " + E.getErrorCode()); } } }


Rispondi quotando