당신은 단순히이 효과를 달성하기 위해 TableView
의 items
을 수정할 수 있습니다 물론
@Override
public void start(Stage primaryStage) {
TableView<Item<String>> tableView = createTableView();
Button upButton = new Button("Up");
Button downButton = new Button("Down");
ReadOnlyIntegerProperty selectedIndex = tableView.getSelectionModel().selectedIndexProperty();
upButton.disableProperty().bind(selectedIndex.lessThanOrEqualTo(0));
downButton.disableProperty().bind(Bindings.createBooleanBinding(() -> {
int index = selectedIndex.get();
return index < 0 || index+1 >= tableView.getItems().size();
}, selectedIndex, tableView.getItems()));
upButton.setOnAction(evt -> {
int index = tableView.getSelectionModel().getSelectedIndex();
// swap items
tableView.getItems().add(index-1, tableView.getItems().remove(index));
// select item at new position
tableView.getSelectionModel().clearAndSelect(index-1);
});
downButton.setOnAction(evt -> {
int index = tableView.getSelectionModel().getSelectedIndex();
// swap items
tableView.getItems().add(index+1, tableView.getItems().remove(index));
// select item at new position
tableView.getSelectionModel().clearAndSelect(index+1);
});
BorderPane root = new BorderPane(tableView);
root.setRight(new VBox(10, upButton, downButton));
Scene scene = new Scene(root);
primaryStage.setScene(scene);
primaryStage.show();
}
예. 항목을 테이블의 항목 목록에서 다른 위치로 옮기면됩니다. –
내가 5 행을 만들고 "UP"과 "DOWN"으로 두 개의 버튼이 있다고 가정하십시오. UP 버튼 클릭시 사용자는 특정 선택된 행을 위쪽 방향으로 바꿀 수 있고 DOWN 버튼 사용자는 행을 아래쪽 위치로 움직일 수 있습니다 DOWN 버튼을 클릭하면됩니다. 즉. 사용자는 TableView의 버튼 클릭에 어떤 위치로 particlar selectyed 행을 배치 할 수 있습니다. 가능한 javafx를 사용하여 tableview에서 ?? 가능한 한 친절하게 나에게 그 논리를 제공하면 ... – user2715085