当前位置: 首页 > 知识库问答 >
问题:

调整选项卡内容的大小

谈桐
2023-03-14

我有一个动态加载选项卡的选项卡窗格。每个选项卡都有一个锚窗格作为其内容。这很有效,除了一个小细节:当我调整主应用程序的大小时,选项卡内容不会调整大小。

因此,假设我最大化我的应用程序,选项卡内容保持其“小”尺寸。考虑到选项卡内容的根是anchorpane,我如何触发选项卡内容的大小调整?

我是javafx世界的新手,在我的无知中,我尝试将锚窗格包装在hbox中并将其设置为选项卡的内容,但无济于事。

有什么想法吗?

共有3个答案

许奇
2023-03-14

我目前有一个可行的解决方案,尽管我很确定这不是最干净的方法:

            final Pane root = loader.getRoot();
            tbsCore.widthProperty().addListener(new ChangeListener<Number>() {
                @Override
                public void changed(ObservableValue<? extends Number> arg0, Number arg1, Number newValue) {
                    root.setPrefWidth(newValue.doubleValue());
                }
            });
            tbsCore.heightProperty().addListener(new ChangeListener<Number>() {
                @Override
                public void changed(ObservableValue<? extends Number> arg0, Number arg1, Number newValue) {
                    root.setPrefHeight(newValue.doubleValue());
                }
            });

请注意,“根”是我想放在选项卡中的窗格,而“tbsCore”是选项卡窗格。

郑嘉年
2023-03-14

将AnchorPane约束放入TabPane(不是Tabs,请注意),以便它根据其容器AnchorPane调整自身大小。

如果您使用的是 SceneBuilder,TabPane 实例的“布局”部分将为您提供帮助。如果同时动态创建 TabPane,则可以将其约束设置为 AnchorPane.setLeftAnchor(theTabPane, ...)、AnchorPane.setTopAnchor(theTabPane, ...)等。

李昱
2023-03-14

这是如何调整组件大小的示例,但想法是相同的。

    Rectangle rec = new Rectangle();
    rec.widthProperty().bind(stackPane.widthProperty().subtract(50));
    rec.heightProperty().bind(stackPane.heightProperty().subtract(50));

您必须获取主舞台的大小并使用. bind(stackPane.height Property().subtract(50));您可以动态缩小大小。

但我是这项技术的新手,更有经验的人可以给你更准确的答案。

 类似资料:
  • 我有一个左向的Tabview。 我想减少选项卡标题的数量,它们太大了。我该怎么做?

  • 我对tabView有问题。第一个选项卡应始终显示相同的内容(称为搜索模板,用#{not curSearch.isClosable()}标识)。所有其他选项卡都是搜索实例(用#{curSearch.isClosable()}标识) 代码如下: 不幸的是,在第一个选项卡上有一些被称为curSearch对象的方法,这些方法仅在第二个选项卡和后面的选项卡上使用。如果我不使用ui:insert,它不会改变任

  • 问题内容: 我在StackOverflow中发现了大量这些消息。像其他许多人一样,切换标签时,标签内容重叠也存在相同的问题。我发现的任何建议都无法解决我的问题。 当我的应用启动时,它会正确显示第一个选项卡的内容。当我单击另一个选项卡时,旧内容保留在屏幕上,另一个选项卡的内容也添加在屏幕上。第二次切换选项卡时,所有内容均消失。切换标签不再有用。 我在这里关注了Google的Developer文档。

  • 问题内容: 我正在开发类似iGoogle的应用程序。使用iframe显示其他应用程序(在其他域上)的内容。 如何调整iframe的大小以适合iframe内容的高度? 我试图破译Google使用的javascript,但它被混淆了,到目前为止,在网络上搜索毫无结果。 更新: 请注意,内容是从其他域加载的,因此适用同源策略。 问题答案: 我们遇到了这类问题,但与您的情况略有不同我们向其他域上的网站提供

  • 问题内容: 在以Swift编写的iOS应用程序中使用自动布局时,如何根据内容调整textField的大小? 加载视图时以及用户键入时,文本字段将根据需要调整大小以适合其内容。 理想情况下,文本字段将在某个点(例如6行)处停止调整大小,并变为可滚动。 问题答案: 您必须使用而不是。 然后,您可以使用该方法。 但是首先,您必须知道一条线的高度。您可以使用以下方法获取该信息: 之后,只需在方法内部调用方

  • 我很好奇,让内容(例如div)在t:panelTabbedPane中占据100%的t:panelTab的正确方式是什么。内容似乎是在无法指定样式的div或span中呈现的。我能做到这一点的唯一方法就是使用绝对布局。有更好的办法吗?

  • 我已经实现了非常简单的鼠标拖动位于中间的选项卡窗格。鼠标大小调整是非常基本的,它的工作不是很好,但现在我可以拖动选项卡的边界并增加大小。 现在我发现了一个问题。当我调整位于中心的标签的大小时,位于中心旁边的组件并没有像用户期望的那样被推回并自动尖叫,它们被放置在我调整大小的组件的后面。当我用鼠标拖动扩展主组件时,我能以某种方式设置所有组件被推回吗?

  • 我注意到在添加滚动条时会调整高度内容的大小(因为内容超过了宽度)。 密码... 注意:如果我使用,它会在最大化窗口时增加边框之间的间距,我不希望这样。 正如您所看到的,第2行被切断了,是否有必要不调整它的大小(除了将它设置为,如果最大化窗口,它仍然显示条形)?