ListView Java FX(Resolvido)

5 respostas
M

Bem tenho que criar uma listview, puxando alguns dados do banco, porém nunca trabalhei com ela
só com tableview e não sei como aplicar buscando do banco, pois só vejo exemplo usando string
Gostaria de receber um norte sobre ela um exemplo, algum tópico ou artigo explicando

5 Respostas

j-menezes

Olha, exemplos não faltam
http://docs.oracle.com/javase/8/javafx/user-interface-tutorial/ui_controls.htm#JFXUI336

Todavia se ainda assim você tiver uma duvida específica, posta aqui no forum, se agente souber, poderemos esclarecer sua questão.

Voce quer usando o banco de dados né, mas se você já usou com TableView, a ListView e’ tão facil quanto.

L

Da mesma forma que o TableView, o ListView utilizada generics.

@Override
public void start(Stage primaryStage) {

ListView<Carro> listView = new ListView<>();
    ObservableList<Carro> items = 
            FXCollections.observableArrayList(new Carro(0, "Fiesta"), new Carro(1, "Ranger"), new Carro(2, "Focus"), new Carro(3, "Ka"));
    listView.setItems(items);

    StackPane root = new StackPane();
    root.getChildren().add(listView);

    Scene scene = new Scene(root, 300, 250);
    primaryStage.setTitle("Hello World!");
    primaryStage.setScene(scene);
    primaryStage.show();
}

O texto exibido no ListView está no toString() de seu model.

class Carro {
private int codigo;
    private String descricao;

    public Carro(int codigo, String descricao) {
        this.codigo = codigo;
        this.descricao = descricao;
    }

    /* get/set omitidos */
    @Override
    public String toString() {
        return this.descricao;
    }
}

Espero ter ajudado.

M

Acho que não to conseguindo entender a lógica dele pra puxar o dado do banco

@FXML
private VBox VGeral;

@FXML
private Label lbSerie;

@FXML
private HBox HDados;

@FXML
private Label lbDisc;

@FXML
private Label lbHora;
@FXML
private HBox Hhora;

@FXML
private HBox HDisc; 

ListView<Node> listview ;
List<DomIgraJDC> dij;

public HBox getPuxandoDados(HBox disci){
    disci.getChildren().clear();
    disci.setAlignment(Pos.CENTER);
    for(int i=0;i<=dij.size();i++){
        lbDisc.setText(dij.get(i).getDesdisc());
    }
    disci.getChildren().add(lbDisc);
    return disci;
}
public void gerar(Node linha,int i){
    switch(i){
        case 0:
            if(!listview.getItems().contains(HDados)){
                listview.getItems().add(HDados);
            }
            HDados.getChildren().add(linha);
            HDados.getChildren().add(getPuxandoDados(HDisc));
    }
}
L

Não estou encontrando sua conexão com banco de dados, ou fonte de recursos.
O que são e onde estão seus objetos? (Banco de dados, arquivos, etc).

M

o que faltava era criar uma StackPane e puxar a listview por ela , pelo menos foi assim que fiz

Criado 15 de agosto de 2017
Ultima resposta 17 de ago. de 2017
Respostas 5
Participantes 3