【问题标题】:How to change JavaFX TabPane pane type如何更改 JavaFX TabPane 窗格类型
【发布时间】:2016-10-01 13:19:01
【问题描述】:

我想在由 TabPane 控制的 AnchorPane 中创建一个 WebView:

这是其中的 TabPane 层次结构:

我不知道如何让 WebView 填满整个区域,并同时做出响应。我可以更改首选大小,但我不知道如何使其 100% 填充窗格。我是 JavaFX 的新手,我正在使用 Scene Builder(我来自 Swing)。谢谢!

【问题讨论】:

  • 为什么不直接把网页视图放在标签页里?
  • @James_D WebView 只能设置为特定大小,但我希望它填满整个选项卡
  • “WebView 只能设置为特定大小”是什么意思?只需将其直接放在选项卡中,无需使用锚窗格,并将所有尺寸保留为默认值。
  • @James_D 然后它不会填满整个窗格。它只会设置为首选大小 - 我需要它来填充其父级
  • 不,说真的,我试过了。选项卡将其内容节点扩展到所有可用空间,而不管首选大小。

标签: java javafx webview tabpanel


【解决方案1】:

选项卡将调整其内容节点的大小以填充选项卡中的所有可用空间(直至其最大大小)。因此,只要您将 Web 视图的最大宽度和最大高度保留为默认值 (Double.MAX_VALUE),您就可以直接将 Web 视图直接放置在选项卡中,而无需使用锚窗格,它将被调整为完整大小选项卡的大小。

这是一个简单的例子:

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.web.*?>
<?import java.lang.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.control.TabPane?>


<TabPane xmlns="http://javafx.com/javafx/8.0.40" xmlns:fx="http://javafx.com/fxml/1">
   <tabs>
      <Tab text="Untitled Tab">
         <content>
            <WebView fx:id="webView" prefHeight="200.0" prefWidth="200.0" />
         </content>
      </Tab>
   </tabs>
</TabPane>

这是 Scene Builder 中的文档层次结构:

【讨论】:

  • 啊,对不起。我一直在想出于某种原因我必须把它放在 AnchorPane 中:P
猜你喜欢
  • 2013-07-05
  • 2013-01-02
  • 2016-04-20
  • 2016-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多