5

我开始处理类似于 JGrowl for JavaFX 的用户通知消息。

public void newMessage()
{

    final Stage newConnDialog = new Stage();
    newConnDialog.initStyle(StageStyle.UNDECORATED);
    newConnDialog.initModality(Modality.WINDOW_MODAL);

    // Set pisition
    newConnDialog.setX(1050); //secondStage.setX(primaryStage.getX() + 250);
    newConnDialog.setY(150);

    GridPane grid = new GridPane();
    grid.setAlignment(Pos.CENTER);
    grid.setHgap(5);
    grid.setVgap(5);
    grid.setPadding(new Insets(20, 20, 20, 20));

    // text
    Text productName = new Text("Test");
    productName.setFont(Font.font("Verdana", 12));
    grid.add(productName, 0, 2);

    // Configure dialog size and background color
    Scene aboutDialogScene = new Scene(grid, 200, 100, Color.WHITESMOKE);
    newConnDialog.setScene(aboutDialogScene);
    newConnDialog.show();
}

我对 JavaFX 有基本的了解。你能给我一些基本的建议,什么是实现这个组件的最佳方式。例如,我是否需要创建新的 Stage 或者我可以使用其他组件作为 Stage。如何在 10 秒活动等后隐藏组件。任何建议将不胜感激。

PS我找到了JavaFX 1.3的这个例子也许它可以为JavaFX 2.2重写?

4

3 回答 3

7

这是使用Enzo 库的一种可能解决方案:

// Create a custom Notification without icon
Notification info = new Notification("Title", "Info-Message");

// Show the custom notification
Notifier.INSTANCE.notify(info);

// Show a predefined Warning notification
Notifier.INSTANCE.notifyWarning("This is a warning");

在此处输入图像描述

来源

于 2013-07-07T11:42:38.167 回答
1

您可以使用 ControlsFx 库来创建通知 http://docs.controlsfx.org/org/controlsfx/control/NotificationPane.html

于 2016-09-28T12:59:54.860 回答
0

你可以试试 JFXToast 查看github 可以帮助你完成这项工作

这是 javafx 中 empelement toast 的一个类

于 2017-01-02T16:05:21.183 回答