【问题标题】:Java Swing - How to sound beep before any JOptionPane?Java Swing - 如何在任何 JOptionPane 之前发出哔哔声?
【发布时间】:2010-12-21 11:53:54
【问题描述】:

每当我在 Swing 应用程序中显示 JOptionPane 时,我都会在它之前发出哔声:

Toolkit.getDefaultToolkit().beep();
JOptionPane.showMessageDialog( myFrame, "Message", "Title", JOptionPane.INFORMATION_MESSAGE );

有没有办法自动将第一行应用到任何 JOptionPane 以防我忘记用代码编写它?

【问题讨论】:

  • 您确定要这样做吗?每次显示弹出窗口时发出哔声?
  • @fish ... 是的,我的用户是盲人,所以我希望他们听到 beeeeeeeep :)
  • 好奇为什么java没有"\a"
  • @user489041 System.out.print("\007") 可能会工作,但它会发出嗡嗡声(主板)而不是哔哔声。

标签: java swing joptionpane beep


【解决方案1】:

您可以创建自己的类,该类具有静态方法 showMessageDialogAndBeep(),该方法调用 JOptionPane.showMessageDialog 并在之前发出哔哔声。

【讨论】:

  • 我一直在寻找 AlexR 的解决方案,但我无法实现。然后我将使用正常的解决方案。谢谢 atamanroman。
【解决方案2】:

void showMessageDialog(Component pC, Object m, String t, int mT) { Toolkit.getDefaultToolkit().beep(); JOptionPane.showMessageDialog( pC, m,t,mT); }

【讨论】:

    【解决方案3】:

    我同意 org.life.java 和 atamanroman。 此外,我可以建议您以下内容。创建 AWTListener 并使用

    注册它
    Toolkit.getDefaultToolkit().addAWTEventListener(listener, eventMask)
    

    我认为在很多情况下都会调用这个监听器,包括打开对话框。因此,您只需要识别此案并致电beep()。我没有尝试过,但我相信它会起作用。

    【讨论】:

    • 。我知道这可能不安全,但这就是我正在寻找的。你能给我一个例子吗? ...我正在尝试将其应用于 JOptionPane.showMessageDialog() 或 JOptionPane.showConfirmDialog()
    猜你喜欢
    • 1970-01-01
    • 2018-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-03
    • 2010-09-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多