ListView does not show anything

1

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);
}
}
    
asked by Naghost 05.03.2018 в 12:44
source

0 answers