尝试将库存TilePane放置在可滚动窗格中

时间:2018-05-12 16:31:04

标签: java javafx scrollpane hbox

全新的stackoverflow,所以如果我发布错误,我很抱歉。

我为自上而下的地图游戏创建了一个库存系统。清单窗格显示角色所携带的所有项目。

我已经使用删除项按钮创建了单独的HBox,但是我试图将HBox放置在可滚动的窗格中。

不幸的是滚动条似乎没有出现。非常感谢任何帮助。

private void displayInvStructure() {

    this.setVgap(4);
    this.setHgap(4);
    this.setPadding(new Insets(1));
    this.setPrefColumns(4);
    this.setStyle("-fx-background-color: #fff4a8; -fx-padding: 5; -fx-spacing: 5; -fx-border-color: black; -fx-border-width: 2px;");

    HBox itemTile[] = new HBox[31];
    for (int i = 0; i < 31; i++) {
        Button deleteButton = new Button("Delete Item");
        deleteButton.setOnAction((ActionEvent event) -> { //Creates event when button clicked
                JOptionPane.showMessageDialog(null, "Item has been deleted", null, 1);
        });

        itemTile[i] = new HBox(new Label("Item: " + i + "   "));
        itemTile[i].setStyle("-fx-border-color: black;");
        itemTile[i].setPadding(new Insets(5));
        itemTile[i].getChildren().add(deleteButton);
        itemTile[i].setAlignment(Pos.CENTER_LEFT);
        itemTile[i].setStyle("-fx-background-color: #e5efff; -fx-border-color: black;");
        this.getChildren().add(itemTile[i]);

    }
    ScrollPane sp = new ScrollPane();
    sp.setFitToWidth(true);
    sp.setContent(this);

}

0 个答案:

没有答案