I am trying to fill a ListView but it does not show any exceptions or show any cell
InicioController.java
public void buscar(){
System.out.println(texto.getText());
try {
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("Busqueda.fxml"));
Parent root1= null;
root1 = (Parent)fxmlLoader.load();
stage= new Stage();
stage.setScene(new Scene(root1));
stage.setTitle("MiguelZon - Busqueda: "+texto.getText());
BusquedaController controller = (BusquedaController) fxmlLoader.getController();
controller.anadir();
stage.show();
} catch (IOException e) {
e.printStackTrace();
}
}
BusquedaController.java
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.fxml.FXML;
import javafx.scene.control.Label;
import javafx.scene.control.ListView;
import javafx.scene.image.ImageView;
import model.ProductoModel;
SearchController.java
public class BusquedaController {
@FXML
Label nombre;
@FXML
ImageView usuario;
@FXML
ImageView carrito;
@FXML
ImageView salir;
@FXML
ImageView buscar;
@FXML
ListView<ProductoModel> listView = new ListView<>();
ObservableList<ProductoModel> productos = FXCollections.observableArrayList();
@FXML
public void mostrarCarrito(){}
@FXML
public void mostrarUsuario(){}
@FXML
public void salir(){}
public void anadir(){
listView.setCellFactory((lv) -> {
return FilaProductoController.newInstance();
});
ProductoModel producto = new ProductoModel();
producto.setAutor("Hola");
producto.setPrecio("20");
producto.setAutor("Nombre");
productos.add(producto);
listView.setItems(productos);
}
}
FilaProductController.java
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.ListCell;
import javafx.scene.control.TextField;
import javafx.scene.image.ImageView;
import model.DiscosModel;
import model.LibrosModel;
import model.PeliculasModel;
import model.ProductoModel;
import java.io.IOException;
import java.net.URL;
import java.util.ResourceBundle;
import java.util.logging.Level;
import java.util.logging.Logger;
public class FilaProductoController extends ListCell<ProductoModel> implements Initializable {
@FXML
ImageView imagen;
@FXML
Label titulo;
@FXML
Label autor;
@FXML
Label precio;
@FXML
Button boton;
LibrosModel libro;
PeliculasModel pelicula;
DiscosModel disco;
private static final Logger LOG = Logger.getLogger(FilaProductoController.class.getName());
public static FilaProductoController newInstance(){
FXMLLoader loader = new FXMLLoader(FilaProductoController.class.getResource("FilaProducto.fxml"));
try {
loader.load();
} catch (IOException e) {
e.printStackTrace();
}
return loader.getController();
}
@FXML
public void mostrarProducto(){
}
@Override
public void initialize(URL location, ResourceBundle resources) {
}
}
ProductModel.java
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.property.StringProperty;
import javafx.scene.control.TextField;
import javafx.scene.image.Image;
public class ProductoModel {
Image Imagen = new Image("Recursos/img/salir.png", 100,100,false,false);
StringProperty Titulo = new SimpleStringProperty();
StringProperty Autor = new SimpleStringProperty();
StringProperty Precio = new SimpleStringProperty();
public Image getImagen() {
return Imagen;
}
public void setImagen(Image imagen) {
Imagen = imagen;
}
public String getTitulo() {
return Titulo.get();
}
public StringProperty tituloProperty() {
return Titulo;
}
public void setTitulo(String titulo) {
this.Titulo.set(titulo);
}
public String getAutor() {
return Autor.get();
}
public StringProperty autorProperty() {
return Autor;
}
public void setAutor(String autor) {
this.Autor.set(autor);
}
public String getPrecio() {
return Precio.get();
}
public StringProperty precioProperty() {
return Precio;
}
public void setPrecio(String precio) {
this.Precio.set(precio);
}
}