(Resolvido)Array List Button (JavaFX) e setando do banco de dados

Olá, eu gostaria de fazer tipo um array de Botão tipo todo os produtos serem setados em um array de botão (ID e Descrição )…

Exemplo tenho 20 produtos e o sistema apresentar 20 botão cada um dele como ID e Descrição. alguém poderia me ajudar ?

Use o TilePane, coloque um TilePane, exemplo:

@FXML
private TilePane pane;


@Override
public void initialize(URL url, ResourceBundle rb) {
    
    pane.setHgap(5);
    pane.setVgap(5);
    
    for (int i = 0; i < 100; i++) {
        pane.getChildren().add(new Button("Produto " + i));
    }

}
1 curtida

No caso do ID e Descrição, uma das formas e’ fazer assim :

Button botao = new Button();
HBox hbox = new HBox(10);

Label label_id = new Label("Seu ID");
Label label_desc = new Label("Sua Descricao");
label_desc.setStyle("-fx-font-weight: bold");

hbox.getChildren().addAll(label_id, label_desc);

botao.setGraphic(hbox);
1 curtida
Com esse codigo eu consegui fazer, fiz com o TilaPane, estou postando meu codigo pra quem tiver a mesma duvida pode fazer por ele !

@FXML
protected void listarPesqCBarra(){
ProdutoDAO produtoDAO = new ProdutoDAO();
modelProdutos = produtoDAO.listarProdutoDescricao("%");
mostrarProdutos(modelProdutos);
} 

 @FXML

protected void mostrarProdutos(List modelProdutos){
if (modelProdutos.size() == 0){
}else{

        pane.setHgap(5);
        pane.setVgap(5);

        
        for (int i = 1; i < modelProdutos.size(); i++) {

        DecimalFormat preco_format = new DecimalFormat();
          //  Float preco_custo = Float.parseFloat(String.valueOf(modelProdutos.get(i).getPCUSTO()));
            Float preco_venda = Float.parseFloat(String.valueOf(modelProdutos.get(i).getPVENDA()));
            String descricao = String.valueOf(modelProdutos.get(i).getDESCRICAO());
            String codBarra = String.valueOf(modelProdutos.get(i).getCODBARRA());
            preco_format.applyPattern("#,##0.00");      
            
            Button btn = new Button (String.valueOf("Cod. "+codBarra + " - R$: " +  (String.valueOf(preco_format.format(preco_venda) + "\n" + descricao))));
           
        pane.getChildren().add(btn);
        btn.setOnMouseClicked(new EventHandler<MouseEvent>() {
                @Override
                public void handle(MouseEvent arg0) {
                    Button b = (Button) arg0.getSource();
                  teste.setText(b.getText().substring(5,9));
                }
            }
            );
        
        }
    
    }

}

Ola a todos tenho o mesmo problema mas eu quero pegarem um so registro por click por exemplo um button com um valor inicial e quando clico pega e exibe a descricao e o id

Se puder abrir um novo topico será melhor, mesmo porque o seu problema não é igual.

1 curtida