Salve ho creato una jtable con 4 colonne e creato una query per prendere dati da un db ,
HO poi creato 4 array (uno per colonna valorizzati con i dati ).
Vorrei un aiuto con l'inserimento nella tabella , allego il codice:
codice:import java.awt.BorderLayout; import java.awt.EventQueue; import java.sql.ResultSet; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.DefaultListModel; import javax.swing.JTable; import javax.swing.JSpinner; import javax.swing.JList; import javax.swing.table.DefaultTableModel; import javax.swing.JScrollPane; public class Tabelladati extends JFrame { private int codice,quantita; private String descrizione,locazione; private JTable table; private int numRighe; /** * Launch the application. */ public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { Tabelladati frame = new Tabelladati("ric",11111111,"F1"); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } /** * Create the frame. */ public Tabelladati(String contesto,int codice,String locazione ) { this.codice=codice; this.locazione=locazione; setTitle("Dati"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 500, 300); getContentPane().setLayout(null); JList lista = new JList(); lista.setBounds(8, 552, 480, 200); getContentPane().add(lista); JScrollPane scrollPane = new JScrollPane(); scrollPane.setBounds(29, 22, 420, 207); getContentPane().add(scrollPane); table = new JTable(); scrollPane.setViewportView(table); // Dopo aver inserito il codice o la locazione nel jframe ricerca if (contesto=="ric"){ // mi connetto al db e inserisco i dati nel jlist try{ ConnettiDb myDb = new ConnettiDb("localhost","Gestionale","root","root"); ResultSet rst = myDb.query("select * from materiale where Codice='"+codice+"' or Locazione='"+locazione+"';"); // recupera il numero di righe del RestultSet rst.last(); numRighe = rst.getRow(); System.out.println(numRighe);//per controllare se ci sono dati // riposiziona il cursore di ResultSet all'inizio rst.first(); // definisce un TableModel implementa il metodo .addElement() DefaultTableModel tablemodel = new DefaultTableModel(); table.setModel(tablemodel); tablemodel.addColumn("Codice"); tablemodel.addColumn("Descrizione"); tablemodel.addColumn("Quantità"); tablemodel.addColumn("Locazione"); tablemodel.setRowCount(tablemodel.getRowCount() + (numRighe+1)); // scorre il ResultSet if(numRighe>0){ // Accedo ai valori delle colonne utilizzando il nome dei campi della tabella int [] cod = new int[numRighe]; String [] des = new String[numRighe]; String [] loc = new String[numRighe]; int [] qua = new int[numRighe]; do{ for(int i=1 int ;i<=numRighe ;i++ ){ cod[i]= rst.getInt("codice"); des[i] = rst.getString("descrizione"); loc[i] = rst.getString("locazione"); qua[i] = rst.getInt("Quantità"); modelsetvalue(cod[i],1,i); /* modelsetvalue(des[i],2,i); NON FUNZIONA modelsetvalue(loc[i],3,i); modelsetvalue(qua[i],4,i); */ } }while(rst.next()); //devo inserire gli array dati nel Jtable } }catch(Exception e){ e.printStackTrace(); } } } }

Rispondi quotando