javafx选项卡的facebook通知图标

时间:2014-10-04 19:31:05

标签: java user-interface javafx javafx-8

如何在Facebook上显示小红色图标,并在JavaFX应用程序的选项卡中通知新消息,朋友请求等? 这是我到目前为止所尝试的:

<AnchorPane prefHeight="200" prefWidth="300.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
  <children>
      <TabPane prefHeight="200.0" prefWidth="220.0" tabClosingPolicy="UNAVAILABLE" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
        <tabs>
          <Tab text="TestTab"/>
        </tabs>
      </TabPane>
    <StackPane AnchorPane.leftAnchor="58.0" AnchorPane.topAnchor="1.0">
      <children>
        <Ellipse opacity="0.51" radiusX="9.0" radiusY="8.0" stroke="BLACK" strokeType="OUTSIDE" strokeWidth="0.5">
          <fill>
            <LinearGradient endX="0.95" endY="0.5" startY="0.5">
              <stops>
                <Stop color="#0096c9" />
                <Stop color="#3ec5ee" offset="1.0" />
              </stops>
            </LinearGradient>
          </fill>
        </Ellipse>
        <Label alignment="CENTER" prefWidth="20.0" text="3">
          <font>
            <Font size="10.0" />
          </font>
        </Label>
      </children>
    </StackPane>
  </children>
</AnchorPane>

我不认为它是一个很好的解决方案,因为StackPane绝对放置并独立于Tab。如果Tab被移动或调整大小或移除或者其他什么,Notification-StackPane可能会被放错。处理这些案件会很复杂。

使用javafx.scene.control.Tab#setGraphic设置Notification-StackPane似乎是错误的方式,因为我不知道如何定位图形。有没有办法让图形与Tab重叠,以便图形的一部分在标签之外?它应该类似于上面的fxml示例。 扩展Tab或其中一个TabHeader皮肤似乎很难;)我的经验是,许多有趣且相关的方法在JavaFX核心类中是私有的或最终的。你有什么好主意吗?

0 个答案:

没有答案