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:

codice:
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();
	    }
Questo è il codice dove cerco di far apparire la tabella dal Button

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.
			        }
			   });				    							
			}
		});
quando clicco sul button non appare niente!!!

come mai?