首页 > 解决方案 > JavaFX Listview 在 1 条上堆叠数据

问题描述

我试图做到这一点,所以当我按下一个按钮时,一个列表视图中的一个项目将转移到另一个,但是当我尝试转移 2 个或更多的东西时,它会重叠并删除第一个选择。我的任务是我有两个清单,一个小吃和一个饮料清单以及一个订单清单。我想做它,所以我按下一个按钮,然后选择的项目被转移到订单列表,但是当我点击添加时,它添加了一个项目,但是当我添加另一个项目时,它会超过第一个项目。

这是代码,

public Button confirmOrder;
public Button add;
@FXML
private ListView<String> snacklist;
@FXML
private ListView<String>drinklist;
@FXML
private ListView<String>orderlist;


private Film currentFilm;








@Override
public void initialize(URL url, ResourceBundle rb) {

    snacklist.getItems().addAll("Crisps","Chips","PopCorn");
    snacklist.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);

    drinklist.getItems().addAll("Pepsi","Coke","Water");
    drinklist.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);

    orderlist.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);





    if(currentFilm != null){
        currentFilm = Main.getCurrentFilm();
    }






}





public void ConfirmOrderClick(ActionEvent actionEvent) throws IOException {
    //1 get chosen film from table

    //2 put the film onto the main classuing setter.
    Main.getCurrentFilm();
    Window mainWindow = confirmOrder.getScene().getWindow();
    Parent newRoot = FXMLLoader.load(getClass().getResource("Checkout.fxml"));
    mainWindow.getScene().setRoot(newRoot);
}


public void addsnack(ActionEvent actionEvent) {

    orderlist.setItems(snacklist.getSelectionModel().getSelectedItems());
    orderlist.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
}

public void addDrink(ActionEvent actionEvent) {

    orderlist.setItems(drinklist.getSelectionModel().getSelectedItems());
    orderlist.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
}

}

标签: listviewjavafx

解决方案


推荐阅读