如何创建类似于JGrowl的用户通知消息

use*_*928 5 javafx javafx-2 javafx-8

我开始使用类似于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();
}
Run Code Online (Sandbox Code Playgroud)

我对JavaFX有基本的了解.您能否给我一些基本建议,这将是实现此组件的最佳方式.例如,我是否需要创建新舞台,或者我可以使用其他组件作为舞台.如何在活动10秒后隐藏组件.任何建议都将受到高度赞赏.

PS我发现JavaFX 1.3的这个例子也许可以为JavaFX 2.2重写它?

Pet*_*zov 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");
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

资源