我(在 JavaFx 应用程序中)有一个带有不同选项卡的选项卡。我想实现拖放功能以将选项卡拖到舞台外。这样它就可以生成一个新窗口(就像在谷歌浏览器中一样)。
谢谢您的帮助。
我(在 JavaFx 应用程序中)有一个带有不同选项卡的选项卡。我想实现拖放功能以将选项卡拖到舞台外。这样它就可以生成一个新窗口(就像在谷歌浏览器中一样)。
谢谢您的帮助。
您应该检查 Tom Schindl 在他的博客上显示的解决方案
这是一种方法,它只是将内容带入新窗口的一部分,但它是一个开始。
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();
}
}
});
}
基本上你必须用这个方法创建选项卡,如果事件的接收者不支持拖动,也就是说,如果它没有做任何特定的事情,那么你用选项卡的内容创建一个新的stackPane。
*顺便说一下,窗格的内容是 StackPane。