Ciao a tutti ho un problema con un JScrollPane. Viene creato tramite una JTable ottenuta dai valori di un DB MySql. Attraverso una serie di TextField e di un bottone inserisco i valori nel db e richiamo il metodo che mi crea la tabella (restituisciTabella()) che in teoria dovrebbe ridisegnarmela. Il tutto non avviene. La tabella rimane tale e quale a com'è e non vedo il nuovo valore inserito. Qualcuno mi sa aiutare? Questo è il codice del metodo e la porzione di codice che lo richiama una volta inserito il nuovo valore
codice:private JScrollPane restituisciTabella() throws ClassNotFoundException, SQLException, MalformedURLException { connetti(); ResultSet resultSet=statement.executeQuery("SELECT * FROM ricercatore"); ResultSetMetaData metaData=resultSet.getMetaData(); int numberOfColumn=metaData.getColumnCount(); String[] labels = {"Identificativo", "Nome prodotto", "Prezzo", "Sito per l'ordine"}; int[] widths = {50, 70, 220, 200}; int a=statement.getFetchSize(); Object q=null; Vector<Object> nomi=new Vector<Object>(1,0); Object k=null; Object pre=null; Object dispon=null; Vector columnNames = new Vector(0, 4); for(int i = 0; i < numberOfColumn; i++) { columnNames.addElement(labels[i]); } DefaultTableModel tableModel = new DefaultTableModel(null, columnNames); JTable table = new JTable(); table.setModel(tableModel); while(resultSet.next()){ Vector<Object> identifi = new Vector<Object>(); q=resultSet.getString("idRicercatore"); k=resultSet.getString("nomeProdotto"); pre=resultSet.getString("prezzo"); dispon=resultSet.getString("siti"); identifi.addElement(q); identifi.addElement(k); identifi.addElement(pre); identifi.addElement(dispon); System.out.println(q); tableModel.addRow(identifi); } table.setPreferredScrollableViewportSize(new Dimension(350, 100)); JScrollPane scroll = new JScrollPane(table); table.scrollRectToVisible(table.getCellRect(table.getRowCount()-1, 0, true)); return scroll; }Grazie in anticipo a chi mi aiuterà... ;-)codice:..... insertProductButton.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent event) { /********* DEVO SCRIVERE IL CODICE PER PRELEVARE L'ID DIRETTAMENTE DA DB*/ int idRicercatore = 2; double prezzo; try { String nomeProdotto=new String(nameProdTextField.getText()); String site=new String("www.keyaku.it"); if (prezzoField.getText().equals("")) prezzo=0; else prezzo=Double.parseDouble(prezzoField.getText()); if((!(idTextField.getText().isEmpty()) && !(nomeProdotto.isEmpty()) && !(site.isEmpty()))){ aggiungiValore(idRicercatore,nomeProdotto,prezzo,site); viewTableRicercatore=null; viewTableRicercatore=restituisciTabella(); viewTableRicercatore.invalidate(); viewTableRicercatore.repaint(); }else{ JOptionPane.showMessageDialog(null, "Errore! Inserire valori validi in tutti i campi (numeri per il prezzo e testo per il nome prodotto e il sito"); } } catch (ClassNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (SQLException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (NumberFormatException nFE) { nFE.printStackTrace(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } ........

Rispondi quotando

... ad avere più tempo.....