Ciao a Tutti!
Stò creando un semplice programmino di prova con javafx e il database.
il problema è che se il programma lo lancio direttamente con la listView con il db appare tutto i dati inseriti mentre se il database lo lancio da un button allora non appare niente alla listView.
questo è il codice della List View:
Questo è il codice dove cerco di far apparire la tabella dal Buttoncodice:try { conn = DriverManager.getConnection("jdbc:sqlite:src/database/db.sqlite"); ps = (PreparedStatement) conn.prepareStatement("select * FROM songs"); rs = ps.executeQuery(); items =FXCollections.observableArrayList(); while(rs.next()){ songs = new Songs(); rows =FXCollections.observableArrayList(songs); items.add(songs); songs.setNomeSong(rs.getString(2)); } list = new ListView<Songs>(items); list.setItems(items); Collections.sort(list.getItems(), new Comparator<Songs>() { @Override public int compare(Songs o1, Songs o2) { return o1.getNomeSong().compareToIgnoreCase(o2.getNomeSong()); // Implement your comparator here. } }); }catch (Exception e) { e.printStackTrace(); }finally{ chiusuraDB(); }
quando clicco sul button non appare niente!!!codice:btn_open_playlist.setOnMouseClicked(new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent evt) { try { Class.forName("org.sqlite.JDBC"); } catch (Exception exc) { exc.printStackTrace(); } try { String openString = combo_playlist.getSelectionModel().getSelectedItem().toString(); System.out.println(openString); conn = DriverManager.getConnection("jdbc:sqlite:src/database/db.sqlite"); ps = (PreparedStatement) conn.prepareStatement("select * FROM playlist where nomeplaylist=?"); ps.setString(1, openString); rs = ps.executeQuery(); items =FXCollections.observableArrayList(); while(rs.next()){ songs = new Songs(); rows =FXCollections.observableArrayList(songs); items.add(songs); songs.setNomeSong(rs.getString(2)); } list = new ListView<Songs>(items); list.setItems(items); Collections.sort(list.getItems(), new Comparator<Songs>() { @Override public int compare(Songs o1, Songs o2) { return o1.getNomeSong().compareToIgnoreCase(o2.getNomeSong()); // Implement your comparator here. } }); }catch (Exception e) { e.printStackTrace(); }finally{ chiusuraDB(); } Collections.sort(list.getItems(), new Comparator<Songs>() { @Override public int compare(Songs o1, Songs o2) { return o1.getNomeSong().compareToIgnoreCase(o2.getNomeSong()); // Implement your comparator here. } }); } });
come mai?![]()

Rispondi quotando