Java SE Swing通知[关闭]

Posted

技术标签:

【中文标题】Java SE Swing通知[关闭]【英文标题】:Java SE Swing Notification [closed] 【发布时间】:2014-08-25 19:15:33 【问题描述】:

我正在使用 Java SE 开发库存管理系统。我希望系统在库存商品的数量低于设定的阈值时显示通知。比如说,当数据库中的项目数量低于 50 时..系统应该向用户显示通知。 虽然我已经研究过,但结果与我所需要的不符。

【问题讨论】:

How to create a notification in swing的可能重复 您希望如何显示通知?这里有很多不同的可能性,了解更多会很有帮助。您还应该考虑何时检查数据库。它是单用户应用程序吗?用户是否有权显示所有商品的库存?您如何在数据库中添加和减去您的库存?可能问题的哪一部分(可能全部)是您的具体问题? 不清楚你卡在哪里了:访问数据库?创建通知? 现在可以收到通知了。但是如何在数据库中进行检查。是否建议我使用石英,以特定时间间隔运行并显示通知? 【参考方案1】:

如果我正确理解了您的问题,您正在寻找一种可能性来通知用户发生的问题。 Swing 有两种标准的可能性:弹出对话框消息(例如here)和system tray messages。

您也可以使用自己的消息服务。例如,您可以为您的应用程序实现一个状态栏,并使用它来显示您的消息。 Here 是一个简单的例子。

【讨论】:

【参考方案2】:

通知用户应用程序状态的方法在很大程度上取决于应用程序的视觉结构及其运行平台。如果您的应用程序面向桌面环境,并且您投射的消息并未提醒用户注意某些至关重要的事情,那么一个小的状态栏可能是一个不错的选择。

如果您的目标是屏幕空间有限的环境,并且需要确保用户看到消息,那么覆盖主应用程序的对话窗口可能适合您。下面是覆盖主应用程序框架的对话框的快速而肮脏的示例。

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class DialogExample extends JFrame

    private final static String DIALOG_TITLE = "Warning Dialog";
    private final static int DIALOG_ICON = JOptionPane.WARNING_MESSAGE;
    private final JButton openPopupBtn;

    public DialogExample()
    
        this.openPopupBtn = new JButton("Open Dialog");

        this.openPopupBtn.addActionListener(new ActionListener() 
            @Override
            public void actionPerformed(ActionEvent e) 
                JOptionPane.showMessageDialog(DialogExample.this, "You just opened a dialog.", DIALOG_TITLE, DIALOG_ICON);
            
        );

        this.setTitle("Dialog Example");
        this.setSize(640,480);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setLocationRelativeTo(null);
        this.add(this.openPopupBtn);
        this.setResizable(false);
    

    public static void main(String[] args) 
        JFrame dialogExample = new DialogExample();
        dialogExample.setVisible(true);
    

如果您喜欢第二种方法,推荐阅读是How to Make Dialogs。此页面还展示了为这些对话框添加一点丰富性的功能。

【讨论】:

谢谢。我澄清了如何显示通知。

以上是关于Java SE Swing通知[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

通过java发送推送通知GCM [关闭]

java可扩展的电子邮件通知应用程序[关闭]

单击按钮通知时关闭状态栏

Java Web应用程序的推送通知[关闭]

如何在 GlassFish 上从 JAX-WS 向 Swing 客户端构建推送通知?

startForeground() 不显示任何通知