Class TrayFX

java.lang.Object
com.imyeyu.fx.ui.components.TrayFX
All Implemented Interfaces:
TimiFXUI

public final class TrayFX extends Object implements TimiFXUI
JavaFX 系统托盘(单例),需要在 FX 线程运行后调用
    TrayFX trayFX = TrayFX.getInstance();
    trayFX.getMenu().getItems().addAll(new MenuItem("menu"));
    trayFX.show("icon.png");
Since:
2021-10-30 17:27
Author:
夜雨
  • Property Details

    • toolTip

      public javafx.beans.property.StringProperty toolTipProperty
      获取提示文本监听
      See Also:
    • icon

      public javafx.beans.property.ObjectProperty<Image> iconProperty
      获取图标监听
      See Also:
    • showing

      public javafx.beans.property.ReadOnlyBooleanProperty showingProperty
      获取正在显示托盘图标监听
      See Also:
  • Method Details

    • addMenu

      public void addMenu(javafx.scene.control.MenuItem... menu)
      添加菜单
      Parameters:
      menu - 菜单
    • addMenu

      public void addMenu(int sort, javafx.scene.control.MenuItem... menu)
      添加菜单
      Parameters:
      sort - 排序位置
      menu - 菜单
    • show

      public void show(String path)
      显示图标到托盘
      Parameters:
      path - 图标位置
    • show

      public void show(Image icon)
      显示图标到托盘
      Parameters:
      icon - 图标
    • sendMessage

      public void sendMessage(String title, String content, TrayIcon.MessageType type)
      发送系统通知
      Parameters:
      title - 标题
      content - 内容
      type - 类型
    • remove

      public void remove()
      从托盘移除图标(应主动调用,操作系统不会监听程序是否还在运行)
    • getInstance

      public static TrayFX getInstance()
      获取单例对象
      Returns:
      单例对象
    • getToolTip

      public String getToolTip()
      获取提示文本
      Returns:
      提示文本
    • setToolTip

      public void setToolTip(String text)
      设置提示文本,需在 show(Image)show(String) 之后调用才有效
      Parameters:
      text - 文本
    • toolTipProperty

      public javafx.beans.property.StringProperty toolTipProperty()
      获取提示文本监听
      Returns:
      提示文本监听
    • setIcon

      public void setIcon(String path)
      设置图标
      Parameters:
      path - 图标位置
    • setIcon

      public void setIcon(Image image)
      设置图标
      Parameters:
      image - AWT 图片
    • getIcon

      public Image getIcon()
      获取当前图标
      Returns:
      图标
    • iconProperty

      public javafx.beans.property.ObjectProperty<Image> iconProperty()
      获取图标监听
      Returns:
      图标监听
    • isShowing

      public boolean isShowing()
      获取是否正在显示托盘图标
      Returns:
      true 为正在显示托盘图标
    • showingProperty

      public javafx.beans.property.ReadOnlyBooleanProperty showingProperty()
      获取正在显示托盘图标监听
      Returns:
      正在显示托盘图标监听
    • addClickListener

      public void addClickListener(com.imyeyu.java.bean.CallbackArg<MouseEvent> listener)
      添加点击回调
      Parameters:
      listener - 点击监听
    • addShowMenuListener

      public void addShowMenuListener(com.imyeyu.java.bean.CallbackArg<javafx.stage.Stage> listener)
      添加显示菜单回调
      Parameters:
      listener - 点击监听
    • getRoot

      public javafx.scene.layout.StackPane getRoot()
      根节点,修改这个节点的内容可以完全自定义右键菜单内容
    • getMenu

      public ContextMenu getMenu()
      菜单进行修改
    • getTray

      public SystemTray getTray()
      托盘对象
    • getTrayIcon

      public TrayIcon getTrayIcon()
      托盘图标