我有一个动态加载选项卡的选项卡窗格。每个选项卡都有一个锚窗格作为其内容。这很有效,除了一个小细节:当我调整主应用程序的大小时,选项卡内容不会调整大小。
因此,假设我最大化我的应用程序,选项卡内容保持其“小”尺寸。考虑到选项卡内容的根是anchorpane,我如何触发选项卡内容的大小调整?
我是javafx世界的新手,在我的无知中,我尝试将锚窗格包装在hbox中并将其设置为选项卡的内容,但无济于事。
有什么想法吗?
我目前有一个可行的解决方案,尽管我很确定这不是最干净的方法:
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”是选项卡窗格。
将AnchorPane约束放入TabPane(不是Tabs,请注意),以便它根据其容器AnchorPane调整自身大小。
如果您使用的是 SceneBuilder,TabPane 实例的“布局”部分将为您提供帮助。如果同时动态创建 TabPane,则可以将其约束设置为 AnchorPane.setLeftAnchor(theTabPane, ...)、AnchorPane.setTopAnchor(theTabPane, ...)
等。
这是如何调整组件大小的示例,但想法是相同的。
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行被切断了,是否有必要不调整它的大小(除了将它设置为,如果最大化窗口,它仍然显示条形)?