У меня (в приложении JavaFx) вкладка с разными вкладками. Я хочу реализовать функцию перетаскивания, чтобы перетащить вкладку вне сцены. Чтобы он мог создать новое окно (например, в Google Chrome).Javafx drag and drop TabPane
Спасибо за помощь.
У меня (в приложении JavaFx) вкладка с разными вкладками. Я хочу реализовать функцию перетаскивания, чтобы перетащить вкладку вне сцены. Чтобы он мог создать новое окно (например, в Google Chrome).Javafx drag and drop TabPane
Спасибо за помощь.
Вот aproach, его просто часть извлечения контента в новое окно, но его начало.
private Tab createTab(String text) {
final Tab tab = new Tab();
final Label label = new Label(text);
tab.setGraphic(label);
label.setOnDragDone(new EventHandler<DragEvent>() {
@Override
public void handle(DragEvent event) {
if (event.getAcceptedTransferMode() == null) {
final StackPane content = (StackPane) tab.getContent();
tab.setContent(null);
Stage stage = new Stage();
stage.setScene(new Scene(content));
stage.show();
tab.getTabPane().getTabs().remove(tab);
event.consume();
}
}
});
}
В основном вы должны создать вкладку с помощью этого метода, и если получатель события не поддерживает draging, то есть, если он не делает ничего конкретно, то вы создаете новый stackPane с содержимое вкладки.
* Кстати, содержание панели было стеком.
Вы должны проверить решение Тома Шиндль, показанный на его Blog
Добро пожаловать в Stackoverflow. Не могли бы вы рассказать или показать нам, как далеко? –
Меня также интересует какой-либо реализованный пример. –
Можете ли вы показать нам пример кода, если вы решили проблему? –