【问题标题】:How to position a specific Tab on a TabPane to the right side while keeping the others on the left?如何将 TabPane 上的特定选项卡放置在右侧,同时将其他选项卡放在左侧?
【发布时间】:2020-05-05 12:58:40
【问题描述】:

我正在使用带有 CSS 的 JavaFX 进行开发和应用。现在,我目前在 TabPane 中有一个选项卡列表,它看起来像这样:

我想要做的是将“播放”、“新闻”和“个人资料”标签保留在左侧,但我希望“添加用户”在右侧,如图所示:

我应用的唯一样式是删除填充和更改事物的颜色。我怎样才能将“添加用户”选项卡移动到模型中所示的右侧?

【问题讨论】:

  • 不支持 - 没有简单的方法来调整内部布局(发生在 TabPaneSkin 中的包范围类中),至少我在快速检查中找不到
  • 不幸的是,TabPane 不提供这样的功能。 另一种解决方法 - 制作一个自定义窗格(或 BorderPane),在顶部添加一个 VBox 并在其上添加两个具有 LEFTRIGHT 的子级分别对齐。根据您所需的对齐方式,在这些 VBox 上添加按钮(播放、新闻、配置文件、添加用户)。并在这些按钮上设置操作并切换内容窗格(应该显示在窗格的中心)。 (并且您可以添加动画以在切换窗格时将其反射为 TabPane)。让它工作可能需要一段时间 - 但它值得并且可以自定义。
  • 很遗憾听到这个消息。遗憾的是,没有针对此问题的本地解决方案,因为到目前为止,JavaFX 中的所有内容都比swing 实现起来轻而易举,因为 CSS 哈哈。谢谢,我可能会采取另一种方法来创建我自己的 TabPane 类的东西

标签: java user-interface javafx


【解决方案1】:

我不知道 javaFX 没用过。

但是css:

<!DOCTYPE html>
<html>
<head>
<style>
ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background-color: #333;
}

li.right{
 float:right;
}

li {
  float: left;
}


li a {
  display: inline-block;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}

li a:hover {
  background-color: #111;
}

.active {
  background-color: red;
}
</style>
</head>
<body>

<ul>
  <li><a href="#home" class="active">Home</a></li>
  <li><a href="#news">News</a></li>
  <li><a href="#contact">Contact</a></li>
  <li><a href="#about">About</a></li>
  <li class="right"><a href="#whatever">right</a></li>
</ul>

</body>
</html>

如果您在问题中提供更多详细信息,也许您会获得更多支持不要指望每个人都尝试过 JAVAFX,但有些人可能会通过您提供更多详细信息和努力来回答问题。

【讨论】:

  • 不幸的是,JavaFX 使用他们自己的自定义版本的 CSS 和浮动不起作用。感谢您在此答案中所做的努力! :)
  • 哦,好的,JavaFX CSS 不支持 CSS 布局属性,例如浮动、位置、溢出和宽度。但是,某些 JavaFX 场景图对象支持 CSS 填充和边距属性。布局的所有其他方面都在 JavaFX 代码中以编程方式处理。此外,不支持对 HTML 特定元素(如表格)的 CSS 支持,因为 JavaFX 中没有等效的构造。
  • 感谢 Stack 溢出链接。我明天去看看,我睡前贴的哈哈
猜你喜欢
  • 2018-06-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 2020-06-30
  • 2014-01-31
  • 2019-10-08
相关资源
最近更新 更多