2010-12-21 36 views
6

每當我表現出我的揮杆應用的JOptionPane我才火蜂鳴這樣的:Java Swing - 如何在任何JOptionPane之前發出嗶嗶聲?

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

有自動應用的第一線,以任何的JOptionPane的情況下,一種方法,我忘了把它寫在代碼?

+0

你確定你確實想這樣做嗎?每次顯示彈出窗口時都會發出嗶聲? – fish 2010-12-21 12:08:00

+1

@fish ...是的,我的用戶是盲人,所以我希望他們聽到beeeeeeeep :) – Brad 2010-12-21 14:22:34

+0

好奇爲什麼java沒有「\ a」 – user489041 2010-12-21 14:45:22

回答

4

你可以創建自己的類,它有一個靜態方法showMessageDialogAndBeep(),它調用JOptionPane.showMessageDialog並在之前發出嘟嘟聲。

+0

我正在尋找AlexR的解決方案,但我無法實現它。然後我將使用正常的解決方案。謝謝atamanroman。 – Brad 2010-12-22 06:34:42

2

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

0

我同意org.life.java和atamanroman。 另外我可以建議你以下。創建AWTListener並註冊使用

Toolkit.getDefaultToolkit().addAWTEventListener(listener, eventMask) 

我認爲這個監聽器將在很多情況下被調用,包括對話框打開。所以你只需要識別這個案例,然後打電話給beep()。我沒有嘗試過,但我相信它會起作用。

+0

。我知道這可能不安全,但這正是我所期待的。你能給我舉個例子嗎? ...我試圖將這個應用於JOptionPane.showMessageDialog()或JOptionPane.showConfirmDialog() – Brad 2010-12-21 13:23:12